嗨,我是C和指针的新手,所以我希望您能原谅我。
我有以下代码:
char *str = NULL;
*str = 'a';
printf("My string is :%sn",str);
它会编译,但我每次都会遇到细分错误。这是什么原因,我该如何更改它,以便可以将" A"分配给我的字符串?
预先感谢!
char *str = NULL;
尚未分配指针str。因此,您无法解雇它。然后,您尝试通过
来尊重*str = 'a';
将发生分割故障。
如果您想要具有" a"值的str,则可以这样做:
char *str = "a";
printf("My string is :%sn",str);