动态内存分配中的困惑?
动态内存分配中
当
char *p;
p=new char[5];
就意味着指针p发生了什么变化?
能尽量详细的点
问题点数:10、回复次数:3Top
1 楼wwwunix(木易)回复于 2001-06-02 00:20:00 得分 5
P指针原来没有分配内存,执行了new后分配了五个字节的内存。
也可以用p=malloc(5);Top
2 楼sczhh(从头再来)回复于 2001-06-02 01:05:00 得分 5
当你定义char *p 时,你只是说明p是一个指针,并没有指向任何地方,
而p=new char[5] 后,在系统堆中划出一片内存区存放 char[5],此时,p有了确定的值,即char[5]的首地址。相当于给指针赋值。Top
3 楼sleepsheep(blue)回复于 2001-06-11 14:18:00 得分 0
声明与定义的区别!Top




