c語言如何定義全局結(jié)構(gòu)體數(shù)組?
結(jié)構(gòu)的定義
用戶定義自己所需要的結(jié)構(gòu)型,可以采用下列定義語句:
struct 結(jié)構(gòu)型名
{ 數(shù)據(jù)類型符1 成員名1;
數(shù)據(jù)類型符2 成員名2;
數(shù)據(jù)類型符3 成員名3;
...
數(shù)據(jù)類型符n 成員名n;
};
定義結(jié)構(gòu)型變量的方法有三種,在定義的同時,可以給變量的每個成員賦初值。
1.
先定義結(jié)構(gòu)型,后定義變量
例如:
struct student
{long number;
char name[10];
char sex;
float score[3];
};
...
struct student x,y;
在定義結(jié)構(gòu)型變量的同時,可以對結(jié)構(gòu)型變量的所有成員賦初值。
例如:
struct student x={100001L,"zhao1",'f',{89,94,86}},
y={100002L,"zhao2",'m',{78,86,92}};
2.定義結(jié)構(gòu)型的同時定義變量
這種方法是將結(jié)構(gòu)型的定義和變量定義同時進行。然后仍然可以使用這種結(jié)構(gòu)型來定義其他的變量。
例如:
struct student
{long number;
char name[10];
char sex;
float score[3];
}x={1000001L,"zhao1",'f',{89,94,86}};
...
struct student y={100002L,"zhao2",'m',{78,86,92}}
3.定義無名稱的結(jié)構(gòu)型的同時定義變量
這種方法是將結(jié)構(gòu)型定義和變量的定義同時進行,但省略了結(jié)構(gòu)型的名稱,以后將無法使用這種結(jié)構(gòu)型來定義其他變量。例子與2的例子差不多,只是因為沒有定義結(jié)構(gòu)型的名稱,所以后面對y的賦值就不可用。