在C中传递指针

时间:2016-02-13 10:12:41

标签: c

为什么以下代码会给出Segmentation Fault。

{{1}}

}

它与复制构造函数中的内容类似吗?

2 个答案:

答案 0 :(得分:0)

因为g是字符串文字而你试图在函数helper

中修改它
char *g = "t";  // <-- this is string literal

将此更改为数组语法,然后确定

char g[] = "t";

答案 1 :(得分:0)

字符串"t"被放入只读存储器中。由于历史原因,您可以使用char *。而是做

char g[] = "t";

这将在堆栈上创建一个读/写副本。