注册 登录
编程论坛 C++教室

[求助]有关指针数组的问题

zh_hn 发布于 2007-04-01 09:34, 625 次点击
char *p[]={"happy","every","day"};
char str[10],*q[3];
for(int i=0;i<3;i++){
q[i]=new char[10];
cin.getline(str,10);
strcpy(q[i],str);
}
// 两种定义有何区别???

//如何释放指针空间??
7 回复
#2
天下第二刀2007-04-01 09:53
for(int j=0;j<3;j++)
delete [] q[i];
#3
Arcticanimal2007-04-01 11:15
使用上除了一个在使用结束后要delete二者无区别,但是二者在内存中的位置是不一样的
#4
song42007-04-01 12:35

还不能修改
不过跟它的地址一样

#5
zh_hn2007-04-06 19:45
使用上除了一个在使用结束后要delete二者无区别,但是二者在内存中的位置是不一样的???
还不能修改
不过跟它的地址一样???

二者在内存中的位置有何不同?能详细一点吗?

谢谢了!!!

[此贴子已经被作者于2007-4-6 19:46:36编辑过]

#6
wfpb2007-04-07 08:55

song4说了啊!!!一样的

#7
wfpb2007-04-07 08:56

只是"happy","every","day"是常量,而new的是堆栈区,所以他们指向的对象不同,导致后者可以更改指向对象的元素,而前者不行

#8
zh_hn2007-04-12 13:35
thanks very much
1