C-为空指针分配一个值

时间:2019-02-17 03:20:37

标签: c pointers nullpointerexception null null-pointer

嗨,我是C和指针的新手,希望您能原谅我。

我有以下代码:

char *str = NULL;
*str = 'a';
printf("My string is :%s\n",str);

它可以编译,但是每次都遇到分段错误。造成这种情况的原因是什么?如何更改它以便为字符串分配“ a”?

谢谢!

1 个答案:

答案 0 :(得分:0)

char *str = NULL;

指针str尚未分配。因此,您不能取消引用它。然后,您尝试遵循

*str = 'a';

将发生分段错误。

如果您想要str为“ a”值,则可以采用以下方式:

char *str = "a";
printf("My string is :%s\n",str);