一個程式讀懂指標常量、常量指標
阿新 • • 發佈:2018-12-05
char s1[]="abc"//可以被修改
char s2[]="abc"
s1==s2?
s1不等於s2,兩個沒關係
char *s1="abc"//不能被修改
char *s2="abc"
s1=s2兩個指向同一個字串,“abc”被儲存在靜態區
const char * 表示常量,指標不能被修改,指標指向的內容也不能被修改。
char const* 常量指標,指標可以被修改,指標指向的內容不能被修改
char *const 指標常量,指標不能被修改,指標指向的內容可以被修改。
#include<iostream> using namespace std; int main(){ const char* node1="abc"; //常量 char const* node2="abc";//常量指標 char* const node3="abc";//指標常量 char node4[]="abc"; char *node5="abc"; node1[2]='k';//常量不可以修改 *node1[2]='k';//宣告錯 *node1="xyz";//1.指標不能修改;2.const char*不能轉換為char node1="xyz";// node2[2]='k';//指向的內容是常量,不可以修改 *node2[2]='k';//宣告錯誤 *node2="xyz";//1.指標不能修改;2.const char*不能轉換為char node2="xyz"; node3[2]='k';// *node3[2]='k';//宣告錯 *node3="xyz";//const char*不能轉換為char node3="xyz";//指標不能修改 cout<<(node1==node4)<<endl; node2[1]='a';//char*宣告的字串不能被修改 return 0; }