【发布时间】:2016-07-26 09:10:40
【问题描述】:
我现在对指针有点困惑,有人可以向我解释为什么尝试用strcpy() 更改char** 导致segmentation fault 的原因吗?
void *change_string(char **string) {
char *add = "Changed!";
strcpy(*string, add);
return 0;
}
int main() {
char *p = "Original-";
change_string(&p);
printf("%s",p);
}
【问题讨论】:
-
我被简单地给出了“分段错误”
-
char *p = "Original-"应该是char *p = strdup("Original-"),如果不是,修改p是一个未定义的行为