char*是一个指向char的指针,是可以改变指针指向的值。但是在C语言中可以有指向常量的用法,比如char* s = "abc"; 通过 s 是不可以改变字符串常量的数值的, 然而像 s[0] = 'd'; 的这种写法在C语言中是可以通过编译的,错误会发生在执行时,C语言的宗旨是认为程序员可以做正确的事情。C++中这种写法是不会通过编译的,g++上测试会提示 deprecated conversion from string constant to ‘char* 。总而言之,无论在C还是C++中,规范而正确的写法应该是像这样 const char* s = "abc";
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。