问答详情
源自:5-2 Linux C 动态数据结构-动态链表

malloc函数使用?

我是这样想的   如p1=(struct weap*)malloc(sizeof(struct weapon))第一个括号里面意思是开辟一个结构体类型的空间,后面是大小对吗,请大神们指教

提问者:未入门的上帝 2016-12-26 19:21

个回答

  • 天之大
    2016-12-27 02:47:47
    已采纳

    malloc返回的是开辟空间的首地址,他并不知道你放的是什么类型的东西,所以要用第一个括号中的内容强制转换指针类型为struct weapon*,和p1的类型转为一样,否则会警告指针类型不符合

    sizeof运算符可以求类型所占空间大小比如sizeof(int),也可以求某个量的空间大小,比如struct weapon weapon1={......};可以用sizeof(weapon1)求他的大小,等于sizeof(struct weapon)

  • 慕移动9181930
    2022-03-24 10:05:28

    建议先从基础课程学起,如JavaScript、JAVA、HTML+CSS等