數組是c中的數據類型嗎? 如果可以,我們可以在結構體中創建數組類型的變量,enum。數據類型混合在c中
int arr[10] ;//is this arr is a data type of 10 ints
數組是c中的數據類型嗎? 如果可以,我們可以在結構體中創建數組類型的變量,enum。數據類型混合在c中
int arr[10] ;//is this arr is a data type of 10 ints
數組是一個derived type
,如果我們看一下C99 draft standard部分6.2.5
類型款說(重點煤礦):
任何衍生類型可以從對象,函數和 完整的類型,如下所示:
- 數組類型描述了一種連續地分配非空的對象集與 特定成員對象類型,稱爲元件type.36)數組類型爲 特徵在於它們的元素類型以及數組中的元素的數量。一個 數組類型據說是從它的元素類型派生出來的,如果它的元素類型是T,那麼 數組類型有時被稱爲''T''數組。數組類型從 構造一個元素類型被稱爲''數組類型派生''。
可以創建結構和枚舉的陣列中,唯一的例外是在腳註注意到:
由於對象類型不包括不完全類型,不完全型的陣列不能建。
是陣列在C語言的數據類型?
「陣列」,沒有進一步的規範不是一個單獨的數據類型,但一旦你指定它的大小和它的元件的類型,它成爲一個數據類型。換句話說,你不能定義一個需要「任何數組的數組」或「沒有特定大小的特定類型的數組」的類型,但是你可以定義一個N
類型的數組的數據類型T
。
如果是的話,我們可以創建數組類型的變量在
struct
S,enum
?
int arr[10] ;//is this arr is a data type of 10 ints
是的,它是。您可以通過檢查sizeof(arr)
來判斷:這將是sizeof(int)
的十倍。
「數組」不是數據類型; 「int int數組」和「size 10 ints數組」是數據類型。 – mpez0
@ mpez0編輯。謝謝! – dasblinkenlight
當然,數據類型的數組是另一種數據類型。
你可以這樣做:
typedef int intarr3_t[3];
intarr3_t intarr = {1, 2, 3};
陣列的構思涉及一種派生類型。然後有數據類型,例如array of int
和array of 10 ints
。
http://www.cprogramming.com/tutorial/c/lesson8.html –