C 學習 函式

2021-07-06 01:48:57 字數 752 閱讀 5354

函式不能返回指向自動變數的指標,因為函式呼叫後自動變數就不存在了。

錯例如下:

int *emitptr()

函式可以返回動態申請的變數、靜態或全域性變數的指標。

變數的儲存類

1.auto

自動變數是在動態儲存區分配儲存單元,當函式返回時自動類變數中存放的資料也就消失了。

2.static

靜態儲存類。在程式執行過程中此物件或變數總是存在。(函式呼叫後依然存在)

void test()

void main()

//---結果---- 0

1 23

extern

外部儲存類,乙個檔案引用另乙個檔案中定義的外部變數

預設引數

int test(int a,int b=1);

從右開始

函式過載:只要引數個數或者引數型別不同即可(

不能根據返回型別)

inline函式(內聯函式)

類似於巨集定義又與之不同。inline函式以普通的函式形式對引數進行處理。

不需要額外的系統開銷。

目的是為了消除系統開銷,以提高執行速度,空間換時間,因此只適用一些小的函式。

不能有迴圈語句和swith語句。

不是所有inline關鍵字函式都可以成為內聯函式,系統根據函式大小設定。

外部函式和靜態函式

函式一般都是外部的,本檔案之外其他檔案也可呼叫,要想只能本檔案使用,定義靜態函式,static 

C學習 函式(?)

question return是乙個什麼機制,怎麼返回?函式的返回值又是怎麼確定,怎麼傳遞,存放在哪個位置?在c中如果定義函式時沒有指定返回值型別,則預設是int型 空函式 可以先定義,將來再擴充套件 關於形參與實參 a 定義時形參沒有儲存單元,只有在呼叫時,才分配記憶體單元,呼叫結束後,形參所佔記...

C 學習 函式

作用 將一段經常使用的 封裝起來,減少重複 乙個較大的程式,一般分為若干個程式塊,每個 模組實現特定的功能。1,返回值型別 2,函式名 3,引數列表 4,函式體語句 5,return 表示式 語法 返回值型別 函式名 形參列表 intadd int num1,int num2 功能 使用定義好的函式...

c 學習 虛函式

虛函式學習 1.虛函式的關鍵字是virtual.2.如果在父類中成員函式前加上virtual,則如果子類中定義了重名函式,則兩者會產生聯絡.3.virtual函式的子子孫孫都是virtual的,管你在子類中說不說,但好習慣還是加上.4.當向上造型 upcast 用父類指標或引用去訪問子類的虛函式時,...