C教程-----指針、結(jié)構(gòu)、聯(lián)合和枚舉(3)

字號:

3. 結(jié)構(gòu)數(shù)組和結(jié)構(gòu)指針
    結(jié)構(gòu)是一種新的數(shù)據(jù)類型, 同樣可以有結(jié)構(gòu)數(shù)組和結(jié)構(gòu)指針。
    一、結(jié)構(gòu)數(shù)組
    結(jié)構(gòu)數(shù)組就是具有相同結(jié)構(gòu)類型的變量集合。假如要定義一個班級40個同學(xué)
    的姓名、性別、年齡和住址, 可以定義成一個結(jié)構(gòu)數(shù)組。如下所示:
    struct{
    char name[8];
    char sex[2];
    int age;
    char addr[40];
    }student[40];
    也可定義為:
    struct string{
    char name[8];
    char sex[2];
    int age;
    char addr[40];
    };
    struct string student[40];
    需要指出的是結(jié)構(gòu)數(shù)組成員的訪問是以數(shù)組元素為結(jié)構(gòu)變量的, 其形式為:
    結(jié)構(gòu)數(shù)組元素.成員名
    例如:
    student[0].name
    student[30].age
    實際上結(jié)構(gòu)數(shù)組相當(dāng)于一個二維構(gòu)造, 第一維是結(jié)構(gòu)數(shù)組元素, 每個元素是
    一個結(jié)構(gòu)變量, 第二維是結(jié)構(gòu)成員。
    注意:
    結(jié)構(gòu)數(shù)組的成員也可以是數(shù)組變量。
    例如:
    struct a
    {
    int m[3][5];
    float f;
    char s[20];
    }y[4];
    為了訪問結(jié)構(gòu)a中結(jié)構(gòu)變量y[2]的這個變量, 可寫成
    y[2].m[1][4]