【正文】
使用遞歸只需要少量的程序就可以描述解決問題需要的重復(fù)計算過程,大大減少了程序的代碼量。其中包括函數(shù)的遞歸,指針,參數(shù)傳遞,結(jié)構(gòu)體,最后還介紹了鏈表及操作。本章首先對目前常用的 C語言開發(fā)環(huán)境 Turbo C VC 。自引用結(jié)構(gòu)體包含一個指針成員,該指針指向與結(jié)構(gòu)體一樣的類型。 鏈表 鏈表是一種常用的數(shù)據(jù)結(jié)構(gòu)。使用函數(shù) malloc時,最好要測試是否分配成功。如果分配空間失敗,則返回 NULL。 函數(shù) malloc的作用是在內(nèi)存中分配一個長度為 size的連續(xù)存儲空間。 內(nèi)存動態(tài)分配與釋放 內(nèi)存的動態(tài)分配需要使用 malloc函數(shù)、 free函數(shù)和sizeof運算符實現(xiàn)。動態(tài)內(nèi)存分配在需要時進行分配,不需要時即釋放,不需要提前分配。 }。 float y。但是與結(jié)構(gòu)體不同的是,聯(lián)合體的成員共享同一個存儲空間。指向結(jié)構(gòu)體的指針和指向變量和指向數(shù)組的指針的用法類似。指向結(jié)構(gòu)體變量的指針的值是結(jié)構(gòu)體變量的起始地址。 =。 =39。 =Wang Chong。如果僅僅用 C語言中基本的數(shù)據(jù)類型,是無法進行描述的。 結(jié)構(gòu)體的定義 結(jié)構(gòu)體是用其他類型構(gòu)造出來的數(shù)據(jù)類型。常用于處理非數(shù)值型數(shù)據(jù),在數(shù)據(jù)結(jié)構(gòu)中,使用非常廣泛,如鏈表、隊列、樹等。 b 3ab 傳地址調(diào)用 例 2_13 把數(shù)組中的 n個元素的值分別擴大 5倍,要求數(shù)組名作為參數(shù)。 bxy* x* yamp。 b 3abamp。 bxy* x* y 傳地址調(diào)用 amp。 b 4abamp。 b 4abamp。 amp。下面我們還以求兩個整數(shù)的較大者來說明參數(shù)傳地址調(diào)用方式的使用及傳遞情況。 傳地址調(diào)用 C語言通過指針(地址)實現(xiàn)傳地址調(diào)用。調(diào)用函數(shù)后面括號里面的參數(shù)是實際參數(shù),被調(diào)用函數(shù)中的參數(shù)是形式參數(shù)。本節(jié)主要學(xué)習(xí)的內(nèi)容包括傳值調(diào)用、傳地址調(diào)用。 參數(shù)傳遞 在 C語言中,函數(shù)的參數(shù)傳遞的方式通常有兩種:一種是傳值的方式,另一種是傳地址的方式。 } 函數(shù)指針與指針函數(shù) 函數(shù)指針應(yīng)用舉例。 /*函數(shù)指針指向求和函數(shù) */ printf(%d+%d=%d\n,a,b,(*fun)(a,b))。 printf(%d+%d=%d\n,a,b,Sum(a,b))。 程 序 代 碼 段m a i nS u mf u n指 令 1指 令 2指 令 x? ? void main() { int a=3,b=5。 1.函數(shù)指針 2.指針函數(shù) 函數(shù)指針與指針函數(shù) 函數(shù)指針應(yīng)用舉例。 函數(shù)指針與指針函數(shù) 函數(shù)指針與指針函數(shù)也是常常容易混淆的概念。 C P r o g r a m m i n g L a n g u a g e \ 0A s s e m b l y L a