和编译器里面的规定有关系,const char *p = "hello world"; 这里的"hello world"是存放在字符常量区,所以正确的是用法是加上const。 可以参考下这篇文章:https://blog.csdn.net/donaldsy/article/details/106647709