char* p = "test"; 这个声明,声明了一个指针,而这个指针指向的是全局的 const 内存区 , const 内存区当然不会让你想改就改的。所以,如果你一定要写这块内存的话,那就是一个非常严重的内存错误。之所以加粗“全局 const 内存区”,看看 p1 和 p2 的地址是不是一样的。
char* p1 = "anything";
char* p2 = "anything";
printf(“ p1=%x, p2=%x /n”, p1, p2);
取而代之的,应该是使用数组来做初始化声明。如: char str[] = “hello world”;
“相关推荐”对你有帮助么?
-
非常没帮助
-
没帮助
-
一般
-
有帮助
-
非常有帮助
提交