
结构体指针在被malloc函数赋值后,p是指向malloc返回的首地址的
结构体指针在被malloc函数赋值后,p是指向malloc返回的首地址的,p就是指向一个分配好的的空间,那此时p与结构体中的变量还有联系吗?为什么还可以使用p->操作,那...
结构体指针在被malloc函数赋值后,p是指向malloc返回的首地址的,p就是指向一个分配好的的空间,那此时p与结构体中的变量还有联系吗?为什么还可以使用p->操作,那*p又是什么意思?与struct L;p=&l;指向结构体变量的指针又有什么区别?请详细说明 谢谢
展开
2个回答
展开全部
malloc申请的是堆空间,把它的地址交给p,也就是p指向了这个空间,分配的时侯你会用sizeof(struct L)指定大小,使用时你会(struct L*)强转一下再给p,这样就可通过p访问这段空间了。
p->等价(*p). ;在对上分配的空间,那个变量名是没有的,只能用指针p给它赋值和访问。
用完得用free()把堆空间释放。
有问题可以追问
p->等价(*p). ;在对上分配的空间,那个变量名是没有的,只能用指针p给它赋值和访问。
用完得用free()把堆空间释放。
有问题可以追问
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询