Ⅰ 在c語言如何在定義數組時給數組賦值
要理解C語言中數組的運作機制,我們首先必須理解如何聲明一個數組,例如:
inta[3];
這個語句聲明了a是一個擁有了3個整型元素的數組,類似的:
struct{
intp[4];
doublex;
}b[17];
聲明了b是一個擁有17個元素的數組,其中每個元素都是一個結構,該結構中包括了一個擁有4個整形元素的數組(命名為p)和一個雙精度類型的變數(命名為x)。
現在考慮下面的例子:
intcalendar[12][31];
這個語句聲明了calendar是一個數組,該數組擁有12個數組類型的元素,其中每個元素都是擁有31個整型元素的數組(而不是一個擁有31個數組類型的元素的數組,其中每個元素又是一個擁有12個整型數組元素的數組)因此sizeof(calendar)的值是372(31*12)與sizeof(int)的乘積。
如果calendar不是用於sizeof的操作數,而是用於其他的場合,那麼calendar總是被替換成一個指向calendar數組的起始元素的指針。要理解上面這句話的含義,我們首先必須理解有關指針的一些細節。
Ⅱ C語言,結構體中的數組怎麼賦值,
(1)用字元常量逐個初始化數組。例如:
char a[8]={'i','l','o','v','e','y','o','u'};
把8個字元依次分別賦給c[0]~c[7]這8個元素。
如果在定義字元數組時不進行初始化,則數組中各元素的值是不可預料的。如果花括弧中提供的初值個數(即字元個數)大於數組長度,則出現語法錯誤。
如果初值個數小於數組長度,則只將這些字元賦給數組中前面那些元素,其餘的元素自動定為空字元(即'