typedef void (*Fun) (void) 的理解——函式指標——typedef函式指標
首先介紹大家比較熟悉的typedef
[cpp] view plain copy
int i;//定義一個整型變數i
typedef int myInt;
myInt j;//定義一個整型變數j
上面介紹得是我們常用的比較簡單的typedef的用法,下面首先介紹一下函式指標。
函式指標的形式:
****形式1:返回型別(*函式名)(參數列)****
[cpp] view plain copy
#include <iostream>
using namespace std;
//定義一個函式指標pFUN,它指向一個返回型別為char,有一個整型的引數的函式
char (*pFun)(int);
//定義一個返回型別為char,引數為int的函式
//從指標層面上理解該函式,即函式的函式名實際上是一個指標,
//該指標指向函式在記憶體中的首地址
char glFun(int a)
{
cout << a;
//return a;
}
int main()
{
//將函式glFun的地址賦值給變數pFun
pFun = glFun;
//*pFun”顯然是取pFun所指向地址的內容,當然也就是取出了函式glFun()的內容,然後給定引數為2。
(*pFun)(2);
return 0;
}
通過上面的一個小例子,我們知道了函式指標的用法,
而typedef可以讓函式指標更直觀方便
*形式2:typedef 返回型別(新型別)(參數列)**
[cpp] view plain copy
typedef char (*PTRFUN)(int);
PTRFUN pFun;
char glFun(int a){ return;}
void main()
{
pFun = glFun;
(*pFun)(2);
} </span>
typedef的功能是定義新的型別。第一句就是定義了一種PTRFUN的型別,並定義這種型別為指向某種函式的指標,這種函式以一個int為引數並返回char型別。後面就可以像使用int,char一樣使用PTRFUN了。
第二行的程式碼便使用這個新型別定義了變數pFun,此時就可以像使用形式1一樣使用這個變數了。
相關文章
- 簡述static關鍵字、void與void *(void指標)、函式指標指標函式
- typedef使用大全3(指向函式的指標) (轉)函式指標
- 通過qsort(void * lineptr[], int left, int rifht, int (*comp)(void *, void *))解讀指標函式和void指標...指標函式
- 指標函式 和 函式指標指標函式
- 函式指標函式指標
- 【不在混淆的C】指標函式、函式指標、回撥函式指標函式
- [C++] 成員函式指標和函式指標C++函式指標
- 函式名/函式地址/函式指標函式指標
- 宣告與函式、函式指標函式指標
- int存放到void指標指標
- 函式指標呼叫函式指標
- 指向函式的指標函式指標
- 關於C/C++ void指標,使用void指標拷貝int 陣列C++指標陣列
- 函式指標&回撥函式Callback函式指標
- c++ 函式指標C++函式指標
- 關於函式指標函式指標
- C++(函式指標)C++函式指標
- 函式指標基礎函式指標
- Rust中的函式指標Rust函式指標
- cpp:"函式指標"的方法函式指標
- vector中存放函式指標函式指標
- 函式指標淺談 (轉)函式指標
- C語言 函式指標C語言函式指標
- 函式指標練習題函式指標
- C++中函式指標與函式物件C++函式指標物件
- perl 裡邊的 函式指標函式指標
- 函式指標簡單的列子函式指標
- 函式指標複雜的例子函式指標
- 如何使用函式指標呼叫類中的函式和普通函式函式指標
- 函式指標使用c++類成員函式函式指標C++
- 注意C++中物件指標,慎用void*C++物件指標
- C/C++——指向函式的指標和指向函式的指標的陣列C++函式指標陣列
- 如何使用成員函式指標函式指標
- C++函式指標詳解C++函式指標
- 回撥函式(c和指標)函式指標
- C#中的函式指標 (轉)C#函式指標
- c++ 類的函式引用 指標C++函式指標
- C++中的函式指標和函式物件總結C++函式指標物件