用字符串常量对字符数组和字符指针进行初始化,编译器为“hehe”和“haha”分配了空间,在文字常量区。为a和b分配了栈空间。由字符串常量初始化的数组是可以修改的,而由字符串常量初始化的指针不能被修改,如下,因为被定义为了只读。编译通过,但运行会出错。
-
#include <stdio.h>
-
int main(){
-
char a[] = "hehe";
-
char *b = "haha";
-
//b[2] = 'h'; //在ANSI C中,初始化指针时所创建的字符串常量被定义为只读。
-
a[2] = 'a';
-
printf("%s",a);
-
return 0;
-
}
阅读(1277) | 评论(0) | 转发(0) |