【正文】
目中添加一個(gè) .C的文件。在 C語言中,通過函數(shù)實(shí)現(xiàn)模塊的功能,一個(gè) C語言程序由一個(gè)主函數(shù)和若干個(gè)函數(shù)組成。 函數(shù)的遞歸調(diào)用 函數(shù)的遞歸調(diào)用指的是在調(diào)用一個(gè)函數(shù)的過程中,又出現(xiàn)了對(duì)函數(shù)自身的調(diào)用,這種函數(shù)稱為遞歸函數(shù)。一個(gè)函數(shù)在函數(shù)定義體內(nèi)直接調(diào)用自己稱為直接遞歸調(diào)用,一個(gè)函數(shù)在經(jīng)過一系列的中間調(diào)用,通過其他函數(shù)調(diào)用自己的稱為間接遞歸調(diào)用。 s u m ( a , 5 )= 5 + s u m ( a , 4 )s u m ( a , 4 )= 4 + s u m ( a , 3 )s u m ( a , 3 )= 3 + s u m ( a , 2 )s u m ( a , 2 )= 2 + s u m ( a , 1 )s u m ( a , 1 )= 1 + s u m ( a , 0 )s u m ( a , 3 )= 6s u m ( a , 2 )= 3s u m ( a , 4 )= 1 0s u m ( a , 5 )= 1 5s u m ( a , 0 )= 0s u m ( a , 1 )= 1 一般遞歸轉(zhuǎn)化為非遞歸 通過分析遞歸實(shí)現(xiàn)求 n個(gè)自然數(shù)的和,我們可以把它轉(zhuǎn)化為非遞歸實(shí)現(xiàn)。任何能使用遞歸解決的問題都能使用迭代的方法解決。使用遞歸能夠使程序的結(jié)構(gòu)更清晰,設(shè)計(jì)出的程序更簡(jiǎn)潔、程序更容易讓人理解。指針常常用在函數(shù)的參數(shù)傳遞和動(dòng)態(tài)分配內(nèi)存中,在數(shù)據(jù)結(jié)構(gòu)中,指針的使用也非常頻繁。本節(jié)的主要學(xué)習(xí)內(nèi)容是大家常常容易混淆的概念,包括指針變量、指針變量的引用、指針與數(shù)組、函數(shù)指針與指針函數(shù)。一般的變量通常直接包含一個(gè)具體的值,例如整數(shù)、浮點(diǎn)數(shù)和字符。變量名直接引用了一個(gè)值,指針是間接地引用了一個(gè)值。如果有一個(gè)變量用來存放另一個(gè)變量的地址,則稱這個(gè)變量為指針變量。 ? ? 4 0 0 04 0 0 44 0 0 84 0 1 26 8 0 06 8 0 484294 0 0 44 0 5 0abcdb P t r 指針變量 int q=5,*qPtr。q。和指針運(yùn)算符 *進(jìn)行實(shí)現(xiàn)的。a指的是變量 a的地址, *ptr表示變量 ptr所指向的內(nèi)存單元存放的內(nèi)容。 指針與數(shù)組 1.指向數(shù)組元素的指針 int a[5]={10,20,30,40,50}。 ? ? 1 02 03 04 05 0a [ 0 ]a [ 1 ]a [ 2 ]a [ 3 ]a [ 4 ]amp。 例 2_4 用指針引用數(shù)組元素并打印輸出。 p( * p ) [ 0 ]( * p ) [ 1 ]( * p ) [ 3 ]( * p ) [ 2 ]int a[3][4]={{1,2,3,4},{5,6,7,8},{9,10,11,12}}。 1 2 3 45 6 7 89 1 0 1 1 1 2pp + 1p + 2 指針與數(shù)組 數(shù)組指針的應(yīng)用舉例。 指針與數(shù)組 3.指針數(shù)組 指針數(shù)組是一個(gè)數(shù)組,數(shù)組中的元素是指針類型的數(shù)據(jù)。指針數(shù)組的定義如下: int *p[4]。 例 2_6 用指針數(shù)組保存字符串并將字符元素并打印輸