《C Primer》讀書筆記 函式

2021-07-11 19:45:51 字數 1089 閱讀 1029

函式定義

函式組成:由函式名、一組運算元(形參,parameter)在一對圓括號中宣告,形參之間由逗號分隔、函式執行的運算(函式體,function body)塊組成和乙個返回型別組成(return type)

函式呼叫:使用呼叫操作符進行呼叫(一對圓括號),形參型別必須與實參相同或者實參可被轉換為形參型別

呼叫操作符的運算元為函式名和一組實參。呼叫操作符的結果型別為函式的返回值型別,值為函式返回值

函式呼叫執行的操作:用實參初始化形參的值,將控制權交給被調函式,主調函式被掛起

函式體作用域:函式體類作用域為區域性作用域(local variable)

形參和實參:形參為函式定義的乙個區域性儲存空間,由實參初始化。形參為乙個表示式。

函式的返回值:函式必須指定返回值型別

函式形參:函式形參在宣告時可以省略名字,定義時不能省略

引數傳遞

每次呼叫函式時都會重新用實參初始化其形參的值

形參為非引用型別,則複製實參的值;形參為引用型別(&),則形參只是為實參的別名

指標形參:複製實參指標;非 const 指標形參,可以修改指標指向的值,若需保護保護該值,需將形參定義為指向 const 物件的指標

可以將形參指向 const 物件的指標初始化為指向非 const 物件,當不能將形參指向非 const 物件的指標初始化為指向 const 物件

const 形參

非 const,非引用:可傳 const,也可傳非 const

const,非引用:可傳 const 和非 const,但不能改變該形參的值

void fun(const

int i){} //不能寫 i

void fun(int i){}//錯誤:重複定義

非 const,引用

引用形參直接關聯實參的值,而非複製副本,形參直接修改實參的值

使用該引用繫結的物件初始化該引用

int i = 0, j = 1;

void swap(int &a, int &b){}

swap(i, j);

const, 引用:避免複製,降低開銷;不能修改形參的值

C Primer 讀書筆記 函式

void fun initializer listil initializer list定義在同名的標頭檔案中 fun initializer list物件的元素永遠是常量值。string read void print const string void print double 過載print函...

C primer 讀書筆記

第2 章 變數和基本型別 1 變數直接初始化和變數 複製初始化 int ival 1024 direct initialization int ival 1024 copy initialization 初始化不是賦值 2 內建型別復 制初始化和直接初始化幾乎沒有區別 但 對類型別物件來 說,有些初...

C Primer讀書筆記

前些日子開始看 c primer 順便做一些筆記,既有書上的,也有自己理解的。因為剛學c 不久,筆下難免有謬誤之處,行文更是凌亂 所幸不是用來顯配的東西,發在linuxsir只是為了方便自己閱讀記憶,以防只顧上網忘了正事。書看了不到一半,所以大約才寫了一半,慢慢補充。const要注意的問題 1 下面...