做这个...
char* myString = "hello";
Run Code Online (Sandbox Code Playgroud)
......有同样的效果吗?
char actualString[] = "hello";
char* myString = actualString;
Run Code Online (Sandbox Code Playgroud)
Blu*_*eft 33
没有.
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
Run Code Online (Sandbox Code Playgroud)
第一个示例13*sizeof(char)在堆栈上创建一个大小数组,并将字符串复制"Hello world!"到其中.
第二个示例char*在堆栈上创建一个并将其指向可执行文件的数据段中的一个位置,该位置包含该字符串"Hello world!".第二个字符串是READ-ONLY.
str1[1] = 'u'; //Valid
str2[1] = 'u'; //Invalid - MAY crash program!
Run Code Online (Sandbox Code Playgroud)