14 01 这个问题
我想知道在一个程序中下面两句话有什么区别:
char* a="null";
char* c=new char[n];
a 是不是存储的"null" 的地址啊
可在程序中他不在自由存储区中,那它的位置是哪里啊
c 可以用delete释放自由存储区中的空间
但是好像a不能啊,如果想char* a="null";后再 a="hello";
那原来的"null"怎么办啊
谢谢大家给解答一下!!!!!!!!!!
[解决办法]
"null" 是一个常量字符串,应该保存在静态存储区,a相当于常量指针
后一个就跟数组没什么大的区别了,堆上分配内存
[解决办法]
char* a="null"; //里面对字符放在了常量字符区了!!
char* c=new char[n]; //里面的内容放在了系统的堆区!!