大家覺得怎么樣?自己慢慢思考吧。
好了,現在該講講今天的課題了,結構體。我們先來了解一下什么叫結構體,其實結構體就像數據庫里的記錄,結構體里面的就相當于一條記錄里的各個屬性,我們在描述一樣東西通常都是集在一起的一個整體,就好比像一個學生吧,學生有他相關的屬性,比如姓名、年齡、性別、班級等等。我們編程里雖然可以定義多個變量來分別代表著這些屬性,令可這樣一個一個分開來何必不將他們集中在一個整體里呢,所以C語言里就考慮到這個有了結構體。我們看看如何定義一個結構體,如下:
struct student
{
char name[10];
char sex;
int age;
:
:
}; /*注意喔,這個分號是一定要的喔*/
這里定義的是一個結構體student,但這絕對不是定義了一個可以調用的變量,這只是聲明好有這么一個結構,我們要學定義一個結構的變量的話,就像定義其實類型一樣:
int a,b;
和
struct student a,b;
都是同一個道理,都只是定義一個變量,類型就是看前面的了。一樣可以定義其它的類型,比如struct student *p;這也是正確的(結構體數組也是有的喔)。這種指針類型可是以后要講到的鏈表里很重要的喔,那么先來看看這種結構體指針先吧。我們同樣可以用指針的方法指向這個結構體的首地址:
a.sex='m';這是最調用結構體里的元素運算符 .
struct student *p;
(*p). sex='m';這里一樣也是這樣來表示,不過結構體有另一種很好的表示方式,用到了另一個運符號->。p->sex='m';我們來這樣理解這個表達式,p是地址,->這個是指向這個結構體里的,p->sex就是指向這個結構體里的元素了。
時間過得很快,沒有講到多少就快放學了。好了,我也不多說了,今天就這樣吧。