指標陣列的初始化!

2021-08-28 09:14:39 字數 409 閱讀 8333

const char *strings[7] = ;
這是宣告時初始化的清況,如果先宣告,在初始化呢?

我想當然的寫成:

const char *strings[7]; 

strings = ;

我不知道問題出在哪兒,基礎不牢啊。所以在研究一下指標陣列的初始化。

上面 const char *strings[7] 宣告了乙個指標陣列,它的每個元素是指向const char 的指標(還是指向char 的const指標?)。  

知道錯誤原因了,看了《c和指標》,陣列名是乙個指標常量,也就是第乙個元素的位址,它的型別取決於陣列資料元素的型別。 我這樣賦值相當於修改指標常量,所以報錯。如果想對指標陣列賦值,需要用乙個for或while迴圈。

指標陣列的初始化

指標陣列的初始化 指標陣列的初始化語法與其他型別物件的初始化語法類似,下面是乙個例子 char month name int n return n 1 n 12 name 0 name n 其中name是乙個一維陣列,陣列的元素為字元指標。name陣列的初始化通過乙個字串列表實現,列表中的每個字串賦...

初始化指標

includeusing namespace std int main nullptr 是 c 新標準引入的特性,visual c 2010 編譯器支援它。過去已經使用0或 null 編譯器將用 0代替此巨集 來初始化指標,當然它們現在仍然可以使用。但是,使用 nullptr 初始化指標要好得多。因...

指標的初始化

指標代表的是記憶體單元的編號或位址,通過指標就可以找到對應的記憶體單元。對指標進行初始化或賦值的實質是將乙個位址或同型別 或相相容的型別 的指標賦給它,而不管這個位址是怎麼取得的。1 指標的初始化 指標初始化時,的右運算元必須為記憶體中資料的位址,不可以是變數,也不可以直接用整型位址值 但是int ...