为什么修改预初始化的字符串文字会导致分段错误?例如:
char *str = "Hello world";
str[0] = 'h';
当您初始化str
该字符串值时,编译器是否不会自动为该字符串常量分配内存,将其起始位置分配给str
并在程序退出时释放它?
为什么修改预初始化的字符串文字会导致分段错误?例如:
char *str = "Hello world";
str[0] = 'h';
当您初始化str
该字符串值时,编译器是否不会自动为该字符串常量分配内存,将其起始位置分配给str
并在程序退出时释放它?