C 函式筆記

2021-09-28 21:27:12 字數 1125 閱讀 5932

函式的呼叫需要完成兩項工作:

一、實參初始化物件的形參

二、將控制權交給函式,主調函式中斷,被調函式執行。

函式的返回型別不能是陣列。

陣列不可以做函式返值的原因在於,函式的返值是賦值傳遞的,而陣列不可以進行簡單賦值。也就是函式的返回值是簡單的臨時變數方法,所以不支援是陣列。

當然,函式不能返回函式,雖然不知道為什麼,但是這樣做值沒有意義的。

應該盡可能使用引用傳遞從而避免拷貝。

再次**const

在傳遞引數的時候,引數的頂層const被忽略掉了。

因為使用乙個非常量給常量賦值總是可以的。即我們可以使用乙個非常量初始化乙個底層const,但是反過來不行。不能使用乙個底層const初始化乙個非常量。

#includeusing namespace std;

int main()

陣列形參:

陣列有兩個性質:不允許拷貝陣列,使用陣列的時候可能會轉化為指標。

所以我們使用乙個陣列的時候實際上使用的是陣列的的指標。

使用函式作為形參

#includeusing namespace std;

void print(int (&a)[10])

int main()

int main()

或者使用decltype

using namespace std;

int a[10];

using ok=decltype(&a);

ok tool1()

int main()

void f(short i)

int main()

//輸出如下

//int

//process returned 0 (0x0) execution time : 0.059 s

//press any key to continue.

算數型別轉換的級別都一樣,並沒有優先順序之分。

#includeusing namespace std;

void f(long i)

void f(float i)

int main()

C 函式 筆記

內聯函式只適用於小函式,使用內聯函式需要注意以下幾點 內聯函式中不能含有任何迴圈語句以及switch和goto語句 內聯函式的宣告必須出現在內聯函式第一次被呼叫之前 內聯函式中不能說明陣列 遞迴函式不能定義為內聯函式 函式過載 函式引數個數或型別不同,可以構成過載函式 生命期 是指乙個識別符號從被建...

C 函式筆記

在c 中,函式的形參列表中的形參是可以有預設值的。語法 返回值型別 函式名 引數 預設值 示例 int func int a,int b 10,int c 10 1.如果某個位置引數有預設值,那麼從這個位置往後,從左向右,必須都要有預設值 2.如果函式宣告有預設值,函式實現的時候就不能有預設引數 i...

c 函式筆記

相關聯函式 fileno 標頭檔案返回值 示例判斷檔案描述符是否為終端 輸出裝置控制代碼 返回終端名 路徑 ttyname int 把檔案流指標轉換成檔案描述符fileno file null 終端名 路徑 null 檔案描述符不是終端 include1 檔案描述符為終端 0 檔案描述符不是終端 i...