發信人: ycs830 (老山羊), 信區: C
標 題: Re: 如果快速學會C語言
學會C語言很容易,它沒幾個語句,沒幾個函數。但用是另一回事。就象
華山劍法難學,令狐師兄學了若干年,但還是誰也打不贏。獨孤求敗只有三
招,令狐師兄卻熬了若干小時就學會,但他先看了各派劍法,融會貫通需要
和高手來回打架。
學C是一個過程,我現在看C和十年前觀念很不一樣。說到底,C只是一個
工具,問題是你要干什么,怎么干。C玩好了就象獨孤九劍學好了,你可以俯
視其它劍法。但岳不群學獨孤九劍就不見得有令狐沖的效果。
學數學對邏輯思維能力是個鍛煉。我的數學知識大部分還給了老師,但
邏輯思維能力卻對編程極有用。數分、高代、空解作為數學系的基礎課,確
實對我很有用。C語言是死的,算法是活的,就象獨孤九劍本無招--在融
天下劍法之后。
大家覺得怎么樣?自己慢慢思考吧。
好了,現在該講講今天的課題了,結構體。我們先來了解一下什么叫結構體,其實結構體就像數據庫里的記錄,結構體里面的就相當于一條記錄里的各個屬性,我們在描述一樣東西通常都是集在一起的一個整體,就好比像一個學生吧,學生有他相關的屬性,比如姓名、年齡、性別、班級等等。我們編程里雖然可以定義多個變量來分別代表著這些屬性,令可這樣一個一個分開來何必不將他們集中在一個整體里呢,所以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就是指向這個結構體里的元素了。
時間過得很快,沒有講到多少就快放學了。好了,我也不多說了,今天就這樣吧。
文章來源于領測軟件測試網 http://www.kjueaiud.com/