首先介紹大家比較熟悉的typedef
int i;//定義一個(gè)整型變量itypedef int myInt;myInt j;//定義一個(gè)整型變量j
上面介紹得是我們常用的比較簡(jiǎn)單的typedef的用法,下面首先介紹一下函數(shù)指針。
函數(shù)指針的形式:
形式1:返回類型(*函數(shù)名)(參數(shù)表)
#include <iostream>using namespace std;//定義一個(gè)函數(shù)指針pFUN,它指向一個(gè)返回類型為char,有一個(gè)整型的參數(shù)的函數(shù)char (*pFun)(int);//定義一個(gè)返回類型為char,參數(shù)為int的函數(shù)//從指針層面上理解該函數(shù),即函數(shù)的函數(shù)名實(shí)際上是一個(gè)指針,//該指針指向函數(shù)在內(nèi)存中的首地址char glFun(int a){cout << a;//return a;}int main(){//將函數(shù)glFun的地址賦值給變量pFunpFun = glFun;//*pFun”顯然是取pFun所指向地址的內(nèi)容,當(dāng)然也就是取出了函數(shù)glFun()的內(nèi)容,然后給定參數(shù)為2。(*pFun)(2);return 0;}
通過(guò)上面的一個(gè)小例子,我們知道了函數(shù)指針的用法,
而typedef可以讓函數(shù)指針更直觀方便
形式2:typedef 返回類型(*新類型)(參數(shù)表)
typedef char (*PTRFUN)(int);PTRFUN pFun;char glFun(int a){ return;}void main(){pFun = glFun;(*pFun)(2);} </span>typedef的功能是定義新的類型。第一句就是定義了一種PTRFUN的類型,并定義這種類型為指向某種函數(shù)的指針,這種函數(shù)以一個(gè)int為參數(shù)并返回char類型。后面就可以像使用int,char一樣使用PTRFUN了。
聯(lián)系客服