C - 为空指针赋值
C - assigning a value to a null pointer
大家好,我是 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 和指针的新手,希望您能原谅我。
我有以下代码:
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);