c99增加了乙個新特性:指定初始化器。利用該特性可以初始化指定的陣列元素。例如,只初始化陣列中的最後乙個元素。對於傳統的的c初始化語法,必須初始化最有乙個元素之前的所有與還俗,才能初始化它:
int arr[6]=;
這樣寫和上面的結果是一樣的,由於前幾個元素沒有初始化,所以編譯器會自動把它們設定為0。
int arr[8]=;
這個時候arr[6]就初始化3,另外如果再次初始化之前指定的元素,那麼最後的初始化將會取代之前的初始化。
如果未指定陣列元素的大小的話
如:int arr=
這個時候編譯器會把陣列的大小設定為足夠裝得下初始化的值。上面這個陣列的長度就是8.
指定初始化器
陣列可以在定義的時候進行初始化,例如 int array 3 當初始化列表中的值少於陣列元素個數時,編譯器會自動把剩餘的元素都初始化為零,也就是說,如果不對陣列進行初始化,陣列元素和未初始化的普通變數一樣,儲存的是隨機值,但是,如果初始化陣列1中的部分數值,其他未初始化的值為零,例如 int arr...
初始化 指定初始化
id alloc 物件的誕生過程,主要是從作業系統獲得一塊足夠大的記憶體,以存放該類的全部例項變數,並將其指定為存放記憶體物件的實力變數的位置。alloc方法同時將這塊記憶體全部設定為0。結果是 bool變數初始化為no,所有的int型別變數為0,float變數為0.0,所有的指標為nil.obje...
結構體初始化 指定初始化
參考 c99支援結構的指定初始化專案,其語法與陣列的指定初始化專案近似。只是,結構的指定初始化專案使用點運算子和成員名 而不是方括號和索引值 來標識具體的元素。例如,只初始化book結構的成員value,可以這樣做 struct book surprise 可以按照任意的順序使用指定初始化專案 st...