typedef int (*myfun)(int, int);
這種用法一般用在給函式定義別名的時候
上面的例子定義myfun 是乙個函式指標, 函式型別是帶兩個int 引數, 返回乙個int
在分析這種形式的定義的時候可以用下面的方法:
先去掉typedef 和別名, 剩下的就是原變數的型別.
去掉typedef和myfun以後就剩:
int (*)(int, int)
用法二:
typedef給變數型別定義乙個別名.
typedef structmy_type;
這裡把乙個未命名結構直接取了乙個叫my_type的別名, 這樣如果你想定義結構的例項的時候就可以這樣:
my_type tmp;
第二種用法:typedef 原變數型別 別名
簡單的函式指標的用法
//形式1:返回型別(*函式名)(參數列)
char(*pfun)(int);
//typedef char(*pfun)(int) //跟上一行功能等同
/typedef的功能是定義新的型別。第一句就是定義了一種ptrfun的型別,並定義這種型別為指向某種函式的指標,這種函式以乙個int為引數並返回char型別。/
char glfun(int a)
void main()
pfun =glfun;
(*pfun)(2);
第一行定義了乙個指標變數pfun.它是乙個指向某種函式的指標,這種函式引數是乙個int型別,返回值是char型別。只有第一句我們還無法使用這個指標,因為我們還未對它進行賦值。
第二行定義了乙個函式glfun().該函式正好是乙個以int為引數返回char的函式。我們要從指標的層次上理解函式-函式的函式名實際上就是乙個指標,函式名指向該函式的**在記憶體中的首位址。
typedef 函式指標
關於c 中函式指標的使用 包含對typedef用法的討論 一 簡單的函式指標的應用。形式1 返回型別 函式名 參數列 char pfun int char glfun int a void main 第一行定義了乙個指標變數pfun。首先我們根據前面提到的 形式1 認識到它是乙個指向某種函式的指標,...
typedef 函式指標
形式1 返回型別 函式名 參數列 cpp view plain copy print?char pfun int char glfun int a void main char pfun int char glfun int a void main 第一行定義了乙個指標變數pfun。首先我們根據前面...
typedef 函式指標
關於c 中函式指標的使用 包含對typedef 用法的討論 一 簡單的函式指標的應用。形式1 返回型別 函式名 參數列 char pfun int char glfun int a voidmain 第一行定義了乙個指標變數pfun 首先我們根據前面提到的 形式1 認識到它是乙個指向某種函式的指標,...