malloc函数使用?

来源:5-2 Linux C 动态数据结构-动态链表

未入门的上帝

2016-12-26 19:21

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

写回答 关注

2回答

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

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

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

    未入门的上帝

    非常感谢!有收获 谢谢你!

    2017-01-12 15:32:36

    共 1 条回复 >

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

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

Linux C语言结构体

C语言的深入,帮助小伙伴们进一步的理解C语言,赶紧看过来

118294 学习 · 162 问题

查看课程

相似问题