C语言怎么理解链表 p=(struct stu *)malloc(sizeof(struct stu))为什么新开辟的空间也有个元素 i

C语言怎么理解链表 p=(struct stu *)malloc(sizeof(struct stu))为什么新开辟的空间也有个元素 i ?

malloc 分配一段空间,其参数是空间的大小(单位是字节) 比如malloc(5),是分配一段五个字节大小的空间。其返回值的类型是void *。因此赋值的时候要经过强制类型转换sizeof()() 是计算参数所占的空间大小。如果参数是一个类型,那就是这种类型的数据的大小,如果是一个变量,那就是这个变量的大小。那句语句的意思是 分配一个 大小为结构体stu的大小的空间,并把空间地址赋予p
温馨提示:答案为网友推荐,仅供参考
第1个回答  2019-07-13
这个新开辟的
空间
是分配了一个
stu
这个结构体这么大的空间,然后把这个空间地址转换成
stu的这个指针类型,赋值给P
开辟的空间是用于存放stu这种结构的数据,stu中有i所以新开辟的也有i
只是i为默认值而已
第2个回答  2019-06-01
开辟一个新的内存单元,长度为struct
stu所占的字节长度,新单元指向struct
stu
*类型
第3个回答  2020-02-15
开辟一个struct stu 结构体大小的空间,并把地址传给p
相似回答