C 函式 筆記

2021-05-23 12:23:51 字數 800 閱讀 7319

內聯函式只適用於小函式,使用內聯函式需要注意以下幾點:

內聯函式中不能含有任何迴圈語句以及switch和goto語句

內聯函式的宣告必須出現在內聯函式第一次被呼叫之前

內聯函式中不能說明陣列

遞迴函式不能定義為內聯函式

函式過載:函式引數個數或型別不同,可以構成過載函式

生命期:是指乙個識別符號從被建立到被釋放為止的時間,分為動態生命期和靜態生命期

靜態生命期:是指乙個識別符號的生存時間與程式的執行時間相同

動態生命期:是指乙個識別符號的生存時間與其作用域生效的時間相同,即始於宣告點,終於作用域結束點

變數的儲存型別:自動型別(auto)/暫存器型別(register)/外部型別(extern)/靜態型別(static)

extern的幾點說明:

只有用extern宣告的全域性變數即外部變數才能跨檔案引用

用extern可以將函式說明為外部函式,即在函式名前加上extern關鍵字(c++未進行任何儲存型別宣告的函式都預設為外部函式)

外部變數和外部函式的生命週期都屬於動態生命期

靜態型別static,分為區域性靜態變數和全域性靜態變數

1. 區域性靜態變數——定義在函式內的靜態變數

區域性靜態變數屬於靜態生命期

區域性靜態變數預設值為0

區域性靜態變數不能被其他函式引用

當乙個函式被宣告為static時,則它是內部函式,該函式只能被本檔案的其他函式引用,檔案外不能使用

2. 全域性靜態變數

定義在函式外的靜態變數。用static說明全域性靜態變數是為了使全域性變數只限於被本檔案使用,檔案外不能使用

C 函式筆記

函式的呼叫需要完成兩項工作 一 實參初始化物件的形參 二 將控制權交給函式,主調函式中斷,被調函式執行。函式的返回型別不能是陣列。陣列不可以做函式返值的原因在於,函式的返值是賦值傳遞的,而陣列不可以進行簡單賦值。也就是函式的返回值是簡單的臨時變數方法,所以不支援是陣列。當然,函式不能返回函式,雖然不...

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...