//---指针与数组的区别-----------------
/*************看下面代码**************
//在ANSI C 中,初始化指针时所创建的字符串常量被定义为只读
char *str = "hello";//不能被修改
str[0]='r'; //未定义的行为 ---在编译时,必须有左值的地址
cout<< str<<endl; // 运行时报异常
**************************************/
/**************如下修改***************
char str[] = "hello";
str[0]='r';
cout<< str<<endl;
*************************************/
心得:
--------------------------------------
数组名为什么是常量?
举个例子:
char array1[] = "test1";
char array2[] = "test2";
编译阶段,array1 已经被分了一个具体地址,假如是0x666666;
array2的地址是0x44444;
你会这样做吗:0x666666 = 0x44444;
显然不会,所以array1和array2都是有夫之妇,少打主意了
-------------------------------------