122138763238273
2016-09-28 11:51
p2=p1=(struct weapon*)malloc(sizeof(struct weapon));
同一块地址,p1=p2是为了让p2保存p1的内容,好可以给p1赋予新的内存地址,而保证上一块地址不会丢失
我的理解对于这串指令是:(struct weapon*)malloc(sizeof(struct weapon)),它是一个结构体指针 函数,我们都知道指针的本质是地址,同时malloc的作用是获取内存,做个比喻的话,房子的门牌号和大小都确定下来了。p1,p2是指针变量,他们都指向房子的地址。记得老师说,p1是指向当前开辟的节点的地址,p2是指向上一个开辟节点的地址,那么当最开始的时候就只有一个地址,那么p1,p2都只指向第一个地址。这是我对这段代码的理解,如果有误,请大家指正,xiexie
我同意后者,p1和p2同时保留了第一个申请的存储空间首地址。
为什么不是
p1=(struct weapon*)malloc(sizeof(struct weapon));
p2=的意义何在,它有什么用啊
Linux C语言结构体
118304 学习 · 162 问题
相似问题