格式:函式返回值型別 函式名(引數列表)
//1. 陣列引數,傳遞的是位址
int func1(int arr,int n)
int func2(int* arr,int n)
int func3(const
int arr,int n)//const原始陣列不被修改
//二維陣列
int func4(int* arr[4],int m)
int func5(int arr[4],int m)
//2. c-風格字串引數
int func6(const
char* s或const
char s)
char* func7(char ch,int n)//返回c-風格字串
char* res = func7('c',5);
delete res;
//3. 結構引數
//可以按值傳遞
struct structexam;
void func8(structexam t1)
void func8(const structexam* t1)
func8(&t);
宣告函式指標:返回型別 (*函式指標名) (引數列表);
使用指標呼叫函式: (*函式指標名)(…);
指向函式指標的指標:
typedef int (*p_fun)(...);
int f1(...);
p_fun p1 = f1;//f1是函式指標,p1是指向函式指標的指標
在函式宣告和定義前加關鍵字inline,內聯函式用內聯**代替函式呼叫,執行速度快但占用記憶體多,但不能遞迴且編譯器不一定會滿足內聯函式要求。
引用是變數別名,用作函式形參,函式可使用原始資料。
型別& 引用名=變數名;必須在宣告時初始化。
注意:應避免返回函式終止時不再存在的記憶體單元的引用。
名稱相同但函式特徵標(引數列表)不同的函式。
型別自身與其引用視為相同的特徵標。
//多種型別使用同一函式,但並非所有引數必須為模板型別
template t>
void func(t a,t b)
//顯示具體化,優先順序:非模板函式》具體化》常規模板
template<> 常規函式......
//顯示例項化
template void func2(...)
C Primer 學習筆記 函式(三)
返回陣列指標 type function parameter list dimension int func int i 10 func int i 是乙個帶引數i的函式func func int i 對函式的呼叫結果進行解引用,即呼叫結果是乙個指標 int func int i 10 此指標指向1...
C Primer讀書筆記梳理系列(三)
在我看來這部分的內容,比較底層,也是比較難的,但是非常重要,面試過程中也經常遇到 拷貝控制操作 特殊的成員函式 控制類的行為 拷貝和移動建構函式 用同型別的另乙個物件初始化本物件時做什麼 class a b 拷貝和移動賦值運算子 將乙個物件賦予同型別的另乙個物件時做什麼 class a b 析構函式...
C Primer知識系列五 物件和類
物件導向程式設計特性 抽象 封裝和資料隱藏 多型 繼承 的可重用性。class stock public 表示組成的公共介面的類成員 抽象 void acquire const char co void buy int num 封裝 將抽象與實現分開 void stock acquire const...