假設char* a;
char* b;
很多書籍上都直接*a=*b;
如果char* a 是通過a="dddd";這中形式來初始化的話,那麼運行時候是會報錯的。總的原因就在於char* a="dd"這中形式初始化的話,dd是作爲一個常量字符串存在的。如果char a[]="dd";或者把一個字符串的數組開頭賦值給a指針,那麼是沒有問題的。
C書籍上有這麼一句話,char* a="dd";a是一個指針,其初值指向一個字符串常量,它可以被流改指向其他的地址,但是如果試圖修改字符串的內容,結果是沒有定義的。
這個和大家想象的不同吧呵呵。