看的清吗
这里为什么不能用char *c;?后面说用了char *c 要(char *)malloc申请空间就可以这么干,为什么?还有在链表里面也是这样,p是指向数据域的指针,一开始malloc申请空间了之后,为什么移到下一个数据域的时候还要重新malloc申请空间?望详细解答
那int *p;p=&a;为什么可以不用malloc 我虽然知道这个比较不太好,但是大致意思就是什么时候该用malloc?还有链表里面,定义了*p,第一个malloc我已经有点不理解了,结果它p=q;之后p又一次malloc申请了空间。。。看不懂啊。为什么有的指针可以直接用 有的却要malloc?
追答int *p=&a;p就可以不用malloc。a就好比是一个房子,p挂上牌子就被p占领了,所以p不用另外再造房子。 p=q;之后之所以还要申请空间是因为p指向的地址已经变了,所以另需分配。建议你去看一下指针的基础概念。
谢谢啊
本回答被网友采纳那int *p;p=&a;为什么可以不用malloc 我虽然知道这个比较不太好,但是大致意思就是什么时候该用malloc?还有链表里面,定义了*p,第一个malloc我已经有点不理解了,结果它p=q;之后p又一次malloc申请了空间。。。看不懂啊。为什么有的指针可以直接用 有的却要malloc?
追答指好了位置的指针就是好指针,可以拿来用。没指对地方的指针拿来用就有问题。malloc可以去看看malloc详解,malloc/ free对比一下C++的new/ delete来理解。
追问谢谢啊
那int *p;p=&a;为什么可以不用malloc 我虽然知道这个比较不太好,但是大致意思就是什么时候该用malloc?还有链表里面,定义了*p,第一个malloc我已经有点不理解了,结果它p=q;之后p又一次malloc申请了空间。。。看不懂啊。为什么有的指针可以直接用 有的却要malloc?