字符串的兩種形式:
1、字符數組 char name[32] = “zhangsan”;//只能在初始化時這樣做 strcpy(name,”lisi”);//整體賦值只能通過strcpy name = “lisi”;//error,將一個常量字符串的地址(“lisi")賦值給常量指針(char* const name) 2、字符指針 char *name = “zhangsan”;//指針變量name指向了常量字符串的開始地址 char* name;//在使用野指針(未初始化的指針) scanf(“%s”,name);//error, strcpy(name,”lisi”);//error,如果name指向了常量的字符串,會崩掉。 如果name沒有初始化,程序有可能會崩掉,也有可能會覆蓋內存中的數據。 name = “lisi”;//ok,重新修改指針變量name的指向,即指向一個新的字符串地址。 1、const int* p和int const* p:兩者意義是相同的。指向的內容是只讀數據,不可以q改變;但是指向的地址可以改變。 2、int* const p:必須先對指針初始化,而且指向的地址是只讀的,不可以再被改變;但是指向的內容可以改變。 3、const int* const p:既不可以改變指針指向的地址,也不可以改變指針指向的內容。