未入门的上帝
2016-12-26 19:21
我是这样想的 如p1=(struct weap*)malloc(sizeof(struct weapon))第一个括号里面意思是开辟一个结构体类型的空间,后面是大小对吗,请大神们指教
malloc返回的是开辟空间的首地址,他并不知道你放的是什么类型的东西,所以要用第一个括号中的内容强制转换指针类型为struct weapon*,和p1的类型转为一样,否则会警告指针类型不符合
sizeof运算符可以求类型所占空间大小比如sizeof(int),也可以求某个量的空间大小,比如struct weapon weapon1={......};可以用sizeof(weapon1)求他的大小,等于sizeof(struct weapon)
Linux C语言结构体
118294 学习 · 162 问题
相似问题