如果有若干相同結構體類型的數據要進行處理,我們需定義基類型為相應結構體類型的數組來描述數據。這樣的數組稱為結構體數組。結構體數組用來描述各種復雜數據,在程序設計中經常用到,請讀者特別加以關注。
結構體數組的定義與結構體變量的定義一樣有以下三種形式:
(1)struct標識符
{成員表};
struct標識符數組名[常量];
(2)struct標識符
{成員表}數組名[常量];
(3)struet
(成員表)數組名[常量];
例如,100個同學的情況,我們可以定義結構體數組allst描述:
struct student
(int no;
char name[8]; -
char sex}
int age;
float score[31];
float tcj,acj}
}allst[100];
結構體數組相當于一個廣義的二維數組,結構體數組的初始化與二維數組的初始化類似。對結構體數組的整體操作需轉化成對數組的分量下標變量進行。結構體數組的分量下標變量是結構體類型變量,對結構體數組分量的操作要轉化成對結構體分量字段變量進行。字段變量是相應基類型變量,如是復雜類型需繼續進行轉化,發布。
對結構體數組allst的操作要轉化成對allst[i]進行操作,而allst[i]的操作要轉化成對allst[i].n0、allst[i].name、allst[i].sex、allst[i].age、allst[i].score、allst[i].tcj、allst[i].acj行操作。allst[i].no、allst[i].name、allst[i].sex、allst[i].age、allst[i].score、allst[i].tcj、allst[Fi].acj相當于對應基類型的量。