C - 为空指针赋值

标签 c pointers nullpointerexception null 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 - 为空指针赋值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54729809/

相关文章:

java - 从方法中抛出异常方法

c - C 中的变量名

c - 如何在 C 编程中使用 SHA1 散列

c# - 将通用指针传递给 C# 中的方法

不太明白指针

Java忽略数据库中的NullPointerException?

无法正确打印 txt 文件

c - 为什么我的 rust 病比我的C内存操纵慢?

c - C中函数内部函数的参数和指针

android - Cache.Entry 没有获取 json 数据