C語言學習第七課(函式)

2021-10-18 10:53:25 字數 1365 閱讀 5601

1,函式定義語法

返回型別 函式名(引數列表)

2,形參和實參

1,形參:函式'定義'時(

)內的變數,類似定義變數的語句;如:inta(

int s,

int d)

;//s和d就是形參

2,實參:函式'呼叫'時(

)內的傳入的引數;

3,變數的作用域和生命週期

1

,作用域:變數的作用範圍(在何處能夠訪問到變數)【採用就近原則】

2,全域性變數:定義在所有函式之外的變數,定義之後,都可以訪問,且資料共享(記憶體只佔一塊)

//生命週期:從定義開始到程式結束

3,區域性變數:在函式或者**塊裡面定義的變數

//生命週期:從定義開始到函式或**塊結束

4,記憶體儲存類別【注意:靜態變數和全域性變數自動初始化為0】

儲存類別

自動型靜態型

寄存型外部型

關鍵字aoto

static

register

extern

5,內部函式和外部函式

1,函式的儲存型別為static型,稱為內部函式(靜態函式)【該函式只能在其所在的檔案中使用】

形式:static 返回型別 函式名(形參)

2,函式的儲存型別為extern型,稱為外部函式【該函式能被其他原始檔呼叫】

【若使用外部變數,也需在使用前加extern】

6,記憶體四區

棧區(stack)

存放函式的引數,區域性變數等,由編譯器自動釋放

堆區(heap)

動態申請的記憶體放在堆區,若不釋放,程式結束後,作業系統會**

全域性區(static)又稱靜態區

全域性變數和靜態變數的儲存是放在一塊的,裡面細分有乙個常量區,字串常量和其他常量也存放在此,編譯器不會自動釋放,該區域在程式結束後由作業系統釋放

**區存放函式體的二進位制**

7,遞迴函式

1

,遞迴:函式自己呼叫自己//注意:遞迴需要退出條件,否則會發生棧溢位

//例子【斐波拉契數列求第n項的值】:1 1 2 3 5 8 13 ...公式:f(n)=f(n-1)+f(n-2);

易語言學習第七課

知識點 1.組合框 可以多個同時被選中,用 組合框.選中 真或假來判斷是否被選中 2.單選框 只能選中乙個,用 單選框.選中 真或假來判斷是否被選中 3.分組框 在分組框內的元件不會相互影響 4.進度條 進度條.位置來表示進度條的位置,常與時鐘組合起來使用 版本 2 程式集 視窗程式集1 子程式 啟...

golang語言學習第七課 陣列

go語言中,定義陣列有3種方法 定義陣列的3種方法 var arr1 5 int 必須在中填入陣列的大小,如果不填則不是陣列,而是切片 arr2 3 int 第二種定義陣列的方法,只能在函式體內用,必須給初始值。arr3 int 第三種,讓編譯器去計算個數的方法。var grid 4 5 int 定...

C語言第七課

主要內容 結構體 很重要,掌握 一 結構體的宣告 結構體是一種比較靈活的資料型別,與oc要學的類很相似 結構體是一種自己定義的資料型別示例 struct 結構體名 student 定義乙個學生型別 由結構體型別修飾的變數,叫結構體變數 定義 struct 結構體名 變數名 示例 struct stu...