C程序-导致指针崩溃

时间:2018-11-23 18:40:14

标签: c pointers

在我使用时在此C程序中

useState()

然后程序运行正常,但是当我使用

printf("%c",*(name+5));

然后程序导致崩溃

*(name+5) = '#';

1 个答案:

答案 0 :(得分:3)

有...

char * name;
name ="Hello World !";
*(name+5) = '#';

您正在处理字符串文字的内容,这是未定义的行为,很可能会导致崩溃。

制作一个数组,然后可以更改它:

char name[] ="Hello World !";
name[5] = '#';

或:

char buffer[] ="Hello World !";
char *name = buffer;
*(name+5) = '#';

请注意,这里将字符串文字"Hello World!"的内容复制到允许您更改的内容的数组中。