這些基礎知識中函式的運用和變化你掌握了嗎?

2021-09-29 09:12:40 字數 2864 閱讀 5428

函式

c語言不能巢狀定義函式,但可以巢狀呼叫函式,即允許在呼叫乙個函式的過程中,又呼叫另乙個函式。例如:

例如下面的漢偌塔問題:

陣列元素作函式引數

陣列名作函式引數

多維陣列名作函式引數

(1)陣列元素作函式實參

例1:輸入一行字元,分別統計出其中大寫字母和 小寫字母的個數。

#include 「stdio.h」

main()

printf(「大寫字母個數:%d」, k);

printf(「小寫字母個數:%d」, p);

int fun(char x )

(2)陣列名作函式實參

用陣列名作函式引數,應該在主調函式和被調函式分

別定義陣列。

實參——陣列名 形參——陣列名或指標變數

實參陣列與形引數組型別應一致。

系統將實參陣列的首位址傳給形引數組

用陣列名作函式引數時,形引數組的改變也可以使實

引數組隨之改變。

例2:有乙個一維陣列score,內放10個學生成績,求平均成績。

float fun(float a[10]);

main()

main()

{ int a[10], i;

for(i=0; i<10; i++)

scanf(「%d」,&a[i]);

fun(a);

for(i=0;i<10;i++)

printf(「%d 」,a[i]);

(3)用多維陣列名做函式引數

變數按其作用域分類可分為區域性變數和全域性變數。

區域性變數:在乙個函式內部定義的變數。

有效範圍:只在本函式範圍內有效。

全域性變數:在函式外部定義的變數(又叫外部變數)。

有效範圍: 從定義變數的位置開始到本原始檔結束,可以為本檔案其他函式所共用。

函式內部定義的變數(區域性變數) , 只在該函式範圍內有效。(main主函式也不例外) 乙個函式不能使用其他函式中定義的變數.

不同函式中可以使用相同名字的變數,它們代表不同的物件,互不干擾。

形式引數也是區域性變數。

可以在復合語句中定義變數, 這些變數只在復合語句中有效。

有時希望函式中的區域性變數的值,在呼叫結束後不消失,而保留原值。即其占用的儲存單元不釋放,下次呼叫該函式時,該變數已有值(上一次呼叫結束時的值)。這時應定義該區域性變數為「區域性靜態變數」,用static加以宣告。

加c/c++學習交.流群獲取c語言、c++、windows高階程式設計,mfc框架程式設計、qt框架程式設計,linux應用程式開發,linux核心研究等系統學習路線,更有高階乾貨的直播免費學習許可權

,都是大牛帶飛 讓你少走很多的彎路的 群…號是 787190917

對區域性靜態變數的4點說明:1、區域性靜態變數屬於靜態儲存類別,在靜態儲存區內分配儲存單元。在程式整個執行期間都不釋放。而自動變數(區域性動態變數)屬於動態儲存類別,佔動態儲存區空間,函式呼叫結束就釋放。

2、對區域性靜態變數,只在編譯時賦初值一次,以後每次呼叫函式時不再重新賦初值,而只是保留上次函式呼叫結束時的值。而對自動變數賦初值,不是在編譯時進行的, 而是在函式呼叫時進行。每呼叫一次函式,重新給自動變數賦一次初值。

3、若定義區域性變數不賦初值的話,對靜態變數來說,編譯時自動賦初值0(數值型)或空字元(字元型)。而對自動變數來說,它的值是乙個不確定的值。因為每次函式呼叫結束後儲存單元已釋放,下次呼叫又重新分配單元,而所分配的單元中的值是不確定的。

4、雖然區域性靜態變數在函式呼叫結束後仍然存在,但其它函式不能引用它。

以下2種情況需要用區域性靜態變數:

(1)需要保留函式上一次呼叫結束時的值。

(2)如果初始化後,變數只被引用而不改變其值,這時用區域性靜態變數比較方便,以免每次呼叫時重新賦值。

用靜態儲存要多佔記憶體,降低了程式的可讀性,呼叫次數多時往往弄不清區域性靜態變數的當前值是什麼。因此,要少用區域性靜態變數。

—end—

JS中函式的基礎知識

函式 一 函式定義 函式又叫方法,在程式裡面函式是用來執行某些特定功能的 為了減少重複使用 可以把特定功能的 做成函式,需要使用時拿出來呼叫。alert 就是乙個很常見的 簡單的函式,重複使用時不需要再寫 了,只是把函式名拿過來用就可以。函式後面都帶 不帶 的一般都是屬性。函式有以下4個特點 1.返...

php基礎知識和函式

echo hello aaaa 輸出語法,可以輸出多個字串 print world 可以輸出,只能輸出乙個字串 php是弱型別語言 a 5 php定義變數以 開頭 echo a a hello hello world echo a 可變變數 echo isset a 判斷變數是否定義 unset a...

這些C 基礎知識的基礎知識你都學會了嗎?

一 c 基礎知識 新的資料型別 c語言中的資料型別 練習 定義乙個命名空間為mynum,在該命名空間中定義乙個整型變數x,並給該變數賦值為105 使用c 新特性判斷mynum命名空間下的變數是奇數還是偶數。using namespace std namespace mynum using names...