爲什麼我們不能做到這一點在C:爲什麼我不能把一個數組名字的左邊等號
char name[6];
name = "Jason";
然而,我們可以指點。
char name;
char * pName = &name;
pName = "Jason";
數組和指針之間的主要區別是什麼?我知道該數組是一個固定的常量指針,不夠公平,但我不太確定它是如何工作的,如果數組的名稱是指向數組中第一個元素的指針(指針常量),爲什麼不能我用等號改變數組元素的內容?我回答了我的問題,說這是一個指針常量,但我沒有理解這個概念!
如果你想到指針是什麼,那麼你應該認識到'pName =「Jason」;'不會複製任何東西。實際上,如果你有一個類型爲_array-of-char_的成員的結構,並且你使用賦值運算符和這種類型的兩個值,那麼你只需要將pName指向一個字符串即只讀_read-only_ –