c語言學習第四天筆記

2021-08-15 04:19:23 字數 1442 閱讀 5935

函式:

1、函式定義時給出的引數稱為形式引數,簡稱形參;函式呼叫時給出的引數(傳遞的資料)稱為實際引數,簡稱實參。函式呼叫時,將實參的值傳遞給形參,相當於一次賦值操作。

2、在函式定義中出現的引數可以看做是乙個佔位符,它沒有資料,只能等到函式被呼叫時接收傳遞進來的資料,所以稱為形式引數,簡稱形參。

函式被呼叫時給出的引數包含了實實在在的資料,會被函式內部的**使用,所以稱為實際引數,簡稱實參。

形參和實參的功能是作資料傳送,發生函式呼叫時,實參的值會傳送給形參。

形參和實參有以下幾個特點:

1) 形參變數只有在函式被呼叫時才會分配記憶體,呼叫結束後,立刻釋放記憶體,所以形參變數只有在函式內部有效,不能在函式外部使用。

2) 實參可以是常量、變數、表示式、函式等,無論實參是何種型別的資料,在進行函式呼叫時,它們都必須有確定的值,以便把這些值傳送給形參,所以應該提前用賦值、輸入等辦法使實參獲得確定值。

3) 實參和形參在數量上、型別上、順序上必須嚴格一致,否則會發生「型別不匹配」的錯誤。

3、宣告:

函式宣告的格式非常簡單,相當於去掉函式定義中的函式體再加上分號;,如下所示:

返回值型別  函式名( 型別 形參, 型別 形參… );

也可以不寫形參,只寫資料型別:

返回值型別  函式名( 型別, 型別…);

函式宣告給出了函式名、返回值型別、引數列表(引數型別)等與該函式有關的資訊,稱為函式原型,有了函式宣告,函式定義就可以出現在任何地方了,甚至是其他檔案、靜態鏈結庫、動態鏈結庫等

4、區域性變數:

定義在函式內部的變數稱為區域性變數,它的作用域僅限於函式內部, 離開該函式後就是無效的,再使用就會報錯。

說明:1) 在 main 函式中定義的變數也是區域性變數,只能在 main 函式中使用;同時,main 函式中也不能使用其它函式中定義的變數。main 函式也是乙個函式,與其它函式地位平等

2) 形參變數、在函式體內定義的變數都是區域性變數。實參給形參傳值的過程也就是給區域性變數賦值的過程。

3) 可以在不同的函式中使用相同的變數名,它們表示不同的資料,分配不同的記憶體,互不干擾,也不會發生混淆。

4) 在語句塊中也可定義變數,它的作用域只限於當前語句塊。

5、全域性變數:

在所有函式外部定義的變數稱為全域性變數,它的作用域預設是整個程式,也就是所有的原始檔,包括 .c 和 .h 檔案。

6、當全域性變數和區域性變數同名時,在區域性範圍內全域性變數被「遮蔽」,不再起作用。或者說,變數的使用遵循就近原則,如果在當前作用域中存在同名變數,就不會向更大的作用域中去尋找變數。

7、用陣列作函式引數

陣列是一系列資料的集合,無法通過引數將它們一次性傳遞到函式內部,如果希望在函式內部運算元組,必須傳遞陣列指標。

8、c語言允許函式的返回值是乙個指標(位址),我們將這樣的函式稱為指標函式。

9、遞迴函式,呼叫自己本身並能有終止。

10、呼叫函式時,即使沒有引數也不能丟掉  ()。

C語言學習筆記 第四天

什麼是指標 指標是一種資料型別 無符號整數,代表了記憶體編號 使用它可以定義指標變數。簡稱指標 指標變數的取值範圍 0 4g 32個1 什麼情況下使用指標 1 函式之間共享變數 全域性變數會有命名衝突,不會被釋放,浪費記憶體 2 優化傳遞效率 因為c語言採用的是值傳遞 記憶體拷貝 會隨著變數位元組數...

C語言學習第四天

1.繪製余弦曲線 在螢幕上用 顯示0 350 的余弦函式cos x 曲找。問題分析與演算法設計。如果在程式中使用陣列,這個問題十分簡單。但若規定不能使用陣列,問題就變得不容易了。關鍵在於余弦曲線在00 360 的區間內。行中要顯示兩個點 而對 般 的顯示器來說,只能按行輸出,即 輸出第 行資訊後,只...

C語言第四天

今天我們學習了陣列,包括陣列的定義,陣列的排序,氣泡排序法。int array 10 printf 改變前 for int i 0 i 10 i printf n for int i 0 i 10 1 i printf 改變後 for int i 0 i 10 i printf n 這很重要,要牢記...