數組是構造數據類型,當數組元素具有相同數據類型的時候,可以使用數組作爲組合手段,但是在實際問題中,一組數據往往會具有不同的數據類型,若要他們形成一個邏輯的整體,就不能再使用數組了,而只能使用結構(structure)。 下面是我所總結的關於結構的知識,供大家參考使用:
1、結構也是一種構造數據類型,它是由若干個數據項組合而成的複雜的數據對象,這些項稱爲結構的成員。
2、定義結構:
下面看一個結構定義的最為基本形式:
struct structurename //structurename是結構的名稱,struct是用來定義結構的關鍵字
{
datatype variable;
......
}; //注意:這裡有個分號
3、聲明結構變量:
第一种方法,先定義結構,再聲明結構變量,注意觀察下面的例子:
struct student
{
int num;
char name[30];
char sex;
float score;
};
struct student student1,student2;
第二种方法,在定義結構類型的同時聲明結構變量,注意觀察下面的例子:
struct student
{
int num;
char name[30];
char sex;
float score;
}student1,student2;
第三种方法,直接聲明結構變量,注意觀察下面的例子:
struct
{
int num;
char name[30];
char sex;
float score;
}student1,student2;
4、結構變量初始化
與簡單類型變量、數組一樣,結構變量也可以在定義時直接初始化。如:
stuct student student1={ 2,"Jerry Jorn", 'M',90.5 }; //注意要按照順序
結構變量的賦值就是給各成員賦值,如:
student1.num=2;
student1.name="Jerry Jorn";
student1.sex='M';
printf("請輸入該學院的成績: /n");
scanf("%f",&student1.score);
同樣也可以進行整體賦值,如:
student2 = student1;
5、結構變量成員的一般表現形式:結構体變量名.成員名。
6、訪問結構成員,可以直接通過“結構体變量名.成員名”來訪問,也可以通過指向結構的指針來訪問。
7、結構指針變量聲明的一般形式為: struct 結構名 *結構指針變量名 ;
訪問結構成員的一般形式:(*結構指針變量).成員名 或 結構指針變量->成員名。