标签: c++ arrays string
char c[]="opop"; c[2]='k';
但它应该给出一个总线错误,为什么它会起作用?
答案 0 :(得分:7)
你拥有的是一个数组,而不是一个字符串文字。这是完全有效的代码。
char *c="opop"; c[2]='k';
会导致未定义的行为,很可能是崩溃。
好读: What is the difference between char a[] = "string"; and char *p = "string";