C/C++中的char*

  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";
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章