結(jié)構(gòu)類型變量的說明
說明結(jié)構(gòu)變量有以下三種方法。以上面定義的 stu為例來加以說明。
1. 先定義結(jié)構(gòu),再說明結(jié)構(gòu)變量。如:
struct stu
{
int num;
char name[20];
char sex;
float score;
};
struct stu boy1,boy2;
說明了兩個變量 boy1和boy2為 stu結(jié)構(gòu)類型。也可以用宏定義使一個符號常量來表示一個結(jié)構(gòu)類型,例如:
#define STU struct stu
STU
{
int num;
char name[20];
char sex;
float score;
};
STU boy1,boy2;
2. 在定義結(jié)構(gòu)類型的同時說明結(jié)構(gòu)變量。例如:
struct stu
{
int num;
char name[20];
char sex;
float score;
}boy1,boy2;
3. 直接說明結(jié)構(gòu)變量。例如:
struct
{
int num;
char name[20];
char sex;
float score;
}boy1,boy2;
第三種方法與第二種方法的區(qū)別在于第三種方法中省去了結(jié)構(gòu)名,而直接給出結(jié)構(gòu)變量。三種方法中說明的
boy1,boy2變量都具有圖 7.1所示的結(jié)構(gòu)。說明了 boy1,boy2變量為stu類型后,即可向這兩個變量中的各個成員賦
值。在上述stu結(jié)構(gòu)定義中,所有的成員都是基本數(shù)據(jù)類型或數(shù)組類型。成員也可以又是一個結(jié)構(gòu), 即構(gòu)成了嵌套的
結(jié)構(gòu)。例如,圖7.2給出了另一個數(shù)據(jù)結(jié)構(gòu)。 按圖7.2可給出以下結(jié)構(gòu)定義:
struct date{
int month;
int day;
int year;
}
struct{
int num;
char name[20];
char sex;
struct date birthday;
float score;
}boy1,boy2;
首先定義一個結(jié)構(gòu)date,由month(月)、day(日)、year(年) 三個成員組成。 在定義并說明變量 boy1 和boy2 時,
其中的成員 birthday被說明為data結(jié)構(gòu)類型。成員名可與程序中其它變量同名,互不干擾。結(jié)構(gòu)變量成員的表示方
法在程序中使用結(jié)構(gòu)變量時, 往往不把它作為一個整體來使用。
在ANSI C中除了允許具有相同類型的結(jié)構(gòu)變量相互賦值以外, 一般對結(jié)構(gòu)變量的使用,包括賦值、輸入、輸出、
運(yùn)算等都是通過結(jié)構(gòu)變量的成員來實(shí)現(xiàn)的。
表示結(jié)構(gòu)變量成員的一般形式是:結(jié)構(gòu)變量名.成員名 例如:boy1.num 即第一個人的學(xué)號 boy2.sex 即第二個
人的性別 如果成員本身又是一個結(jié)構(gòu)則必須逐級找到最低級的成員才能使用。例如:boy1.birthday.month 即第一個
人出生的月份成員可以在程序中單獨(dú)使用,與普通變量完全相同。
2015年全國職稱計算機(jī)考試教材(2007模 .. 定價:¥225 優(yōu)惠價:¥213 更多書籍 | |
全國職稱計算機(jī)考試速成過關(guān)系列套裝:W .. 定價:¥133 優(yōu)惠價:¥133.0 更多書籍 |