做这个...
char* myString = "hello";
……和这个有同样的效果吗?
char actualString[] = "hello";
char* myString = actualString;
No.
char str1[] = "Hello world!"; //char-array on the stack; string can be changed
char* str2 = "Hello world!"; //char-array in the data-segment; it's READ-ONLY
第一个示例创建一个大小的数组13*sizeof(char)
放在堆栈上并复制字符串"Hello world!"
进去。
第二个示例创建一个char*
在堆栈上并将其指向可执行文件数据段中的一个位置,其中包含字符串"Hello world!"
。第二个字符串是只读.
str1[1] = 'u'; //Valid
str2[1] = 'u'; //Invalid - MAY crash program!
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)