C/C++——指向函式的指標和指向函式的指標的陣列
1、指向函式的指標
對於一個函式只能做兩件事情:呼叫它,或是取得它的地址。
可以取得函式的地址並賦值給指向函式的指標,並在以後使用這個指標呼叫該函式。
void fun(int num)
{
cout << num << endl;
}
void (*pfun)(int num);//pfun此時就是一個函式指標
int main()
{
int value = 100;
pfun = &fun;//獲得函式fun的地址
pfun(value);//等價於呼叫 fun(value);
//取地址運算子&可以不要;
pfun = fun;
pfun(value);//也是等價於呼叫 fun(value);
return 0;
}
指向函式的指標的宣告中也需要給出引數型別和返回值型別。指向函式的指標只能被引數型別和返回值型別都一樣的函式賦值。
比如:
void (*pfun)(string);
void f1(string){}
int f2(string) {}
void f3(int){}
pfun = f1;//正確pfun = f2;//不正確,返回值型別不同
pfun = f3;//不正確,引數型別不同
2、指向函式的指標的陣列
typedef void (*PF)();
PF edit_opts[] = {&f1, &f2, &f3};//edit_opts就是指向函式指標的陣列,陣列裡面每個元素的型別都是void (*PF)();
相關文章
- 指向函式的指標函式指標
- C/C++指向指標的指標C++指標
- C/C++—— 寫一個函式,它的引數為指向函式的指標,返回型別也為指向函式的指標C++函式指標型別
- 指向指標的指標指標
- 指向陣列的指標陣列指標
- Go 陣列指標(指向陣列的指標)Go陣列指標
- [C++] 成員函式指標和函式指標C++函式指標
- 徹底搞清C/C++中一維陣列,二維陣列,指標,陣列指標和指標陣列以及指向指標的指標,行地址和列地址之間的關係C++陣列指標
- typedef使用大全3(指向函式的指標) (轉)函式指標
- 陣列指標:a pointer to an array,即指向陣列的指標陣列指標
- 如何理解指向指標的指標?指標
- C++ 返回函式指標的函式C++函式指標
- c++ 函式指標C++函式指標
- C++(函式指標)C++函式指標
- 指標函式 和 函式指標指標函式
- C++中的函式指標和函式物件總結C++函式指標物件
- 【原創】淺談指標(十三)指向陣列的指標指標陣列
- C/C++中函式指標的含義C++函式指標
- C++ 指標陣列與陣列指標的區別C++指標陣列
- c++ 類的函式引用 指標C++函式指標
- C++中函式指標與函式物件C++函式指標物件
- 【不在混淆的C】指標函式、函式指標、回撥函式指標函式
- 指標問題的一點體會(區別 [指向指標的指標] 與 [指標的指標] .) (轉)指標
- C++函式指標詳解C++函式指標
- 函式指標使用c++類成員函式函式指標C++
- 陣列,函式與指標 詳解陣列函式指標
- C語言rewind()函式:將檔案指標重新指向檔案開頭C語言函式指標
- (轉發)連結串列新增函式中為什麼要用指向連結串列指標的指標(引用傳參)函式指標
- 詳解C/C++函式指標宣告C++函式指標
- 指向常量資料的指標和常量指標指標
- 詳解c++指標的指標和指標的引用C++指標
- 【C++】函式返回函式指標的多種定義方式C++函式指標
- 回撥函式(c和指標)函式指標
- js函式中的this指向JS函式
- 指向const物件的指標 和 const指標物件指標
- c語言函式指標的定義C語言函式指標
- C# 跨平臺呼叫C++的函式指標C#C++函式指標
- C++程式的函式指標:實操來了C++函式指標