大家好,我是 C 语言和指针的新手,希望你们能原谅我。
我有以下代码:
char *str = NULL;
*str = 'a';
printf("My string is :%s\n",str);
它可以编译,但我每次都会遇到段错误。这是什么原因?我该如何更改它以便我可以将“a”分配给我的字符串?
提前致谢!
最佳答案
char *str = NULL;
指针 str 还没有分配。所以你不能取消引用它。然后你试图尊重
*str = 'a';
会发生段错误。
如果你想要 str 的值为“a”,你可以这样做:
char *str = "a";
printf("My string is :%s\n",str);
关于C - 为空指针赋值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54729809/