c 函式引數(總結)

2021-08-15 21:13:26 字數 991 閱讀 1172

形參出現在被調函式當中,在整個函式體內都可以使用。形參在定義時編譯系統並不分配儲存空間,只有在呼叫該函式時才分配記憶體單元。呼叫結束記憶體單元被釋放,故形參只有在函式呼叫時有效,呼叫結束時不能再使用。

實參出現在主調函式當中,當函式呼叫時,主調函式把實參的值傳送給被調函式的形參,從而實現函式間的資料傳遞。傳遞方式有兩種:值傳遞和位址傳遞方式。

引數傳遞:

引數傳遞首先要搞清楚是

值傳遞還是位址傳遞,這是極為重要的。若為值傳遞是不能改變實際變數的值是單向傳遞而 位址傳遞則是雙向改變的。

一.值傳遞:

1. 當形參定義為變數時,實參可以是常量、變數和表示式,這種函式間的引數傳遞為值傳遞方式。值傳遞的特點是引數的「單向傳遞」

並不會改變a,b的值。

#includevoid myswap(int x, int y)

int main()

2 .陣列元素作為函式引數。

陣列元素也為值傳遞:

int swap(int a,int b)

int main (void);

swap(a[0],b[0]);

}

二.位址傳遞。

1.陣列名作為函式引數也傳的是位址。

2. 陣列指標,即陣列元素的位址作為函式引數

int swap(int *a,int *b)

int main (void);

int *a = &arr[0];

int *b = &arr[1];

swap(a,b);

}

3.直接傳入位址。

#includevoid myswap(int &x, int &y)

int main()

C語言 可變引數函式總結

1.可變引數函式 可變引數函式,顧名思義,即函式的引數個數是可變的,例如 printf 的函式原型是 int printf const char format,可變引數函式的宣告形式基本類似 只是在引數列表最尾部有乙個引數 format 和 乙個可變引數標誌 三個點 2.相關的巨集 在實現可變引數函...

C與Python函式引數傳遞總結

要理解值傳遞 指標傳遞和引用傳遞的區別,主要要理解函式的實參和形參,函式的作用域 自動變數 棧 記憶體的布局以及指標和引用的特點。值傳遞 只給函式提供輸入值,需要複製開銷,大物件很少使用值傳遞。指標傳遞 可以改變指標指向內容的值,但是不能改變指標本身,無需複製開銷。如果需要改變指標本身,可以使用二重...

C語言函式可變引數總結 stdarg h

stdarg.h標頭檔案中定義了一系列巨集以及資料物件,用於支援可變引數的函式。主要有 va list 定義的資料物件 用於存放可變引數列表 省略號部分 代表的參量 va start ap,v 用於將可變引數列表中第乙個參量的位址複製給va list定義的資料物件 va arg ap,t 用於訪問可...