值分配给字符指针,但表示访问冲突写入位置 [英] assign value to char pointer, but say Access violation writing location
本文介绍了值分配给字符指针,但表示访问冲突写入位置的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
void main() {
char *x;
x="abc";
*x='1';
}
为什么它带有错误访问冲突写入位置?
Why it comes with error "Access violation writing location"?
我不能分配值 X
按 * X =1
?
推荐答案
修改字符串会导致不确定的行为,请尝试使用字符
数组来代替:
Modifying string literals leads to undefined behavior, try using char
arrays instead:
int main() {
char x[] = "abc";
*x ='1';
}
另外请注意,你应该使用 INT的main()
。
或者,如果你preFER使用指针,用这个有点多余例如:
Or if you prefer to use pointers, use this a little redundant example:
int main() {
char x[] = "abc";
char *y = x;
*y ='1';
}
这篇关于值分配给字符指针,但表示访问冲突写入位置的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文