C程式中函式指標

2021-08-26 14:05:04 字數 998 閱讀 6754

c程式在編譯時,每乙個函式都有乙個入口位址,該位址就是函式指標所指向的位址。有了指向函式的指標變數後,可用該指標變數呼叫函式,就如同用指標變數可引用其他型別變數一樣,其概念上是一致的。函式指標有兩個用途:呼叫函式和做函式的引數。

函式指標的宣告方法如下:

函式型別(標誌符 指標變數名)(形參列表)

注:1)「函式型別」:說明該函式的返回型別;

2)「(標誌符 指標變數名)」:該括號不能省略,說明了乙個返回的資料型別是指標的函式

3)「形參列表」:表示指標變數指向的函式所帶的引數列表。

舉例:int func(int x , int y) //宣告乙個函式

int (*f)(int x, int y) //宣告乙個函式指標

f = func; //將func函式的首位址賦給指標f;

賦值時函式func不帶括號,也不帶引數,由於func代表函式的首位址,因此經過賦值以後,指標f就指向函式func(int x, int y)的**的首位址。

測試**如下:

#include void test(char *str)

int main()

有些編譯器可能編譯不通過,需要改為如下的形式:

#include typedef void (*t_ptr)(char*);

void test(char *str)

int main()

另乙個函式指標陣列的例如:

#include typedef void (*init_func)(void);

void hello1(void)

void hello2(void)

void hello3(void)

static init_func init = ;

int main()

return 0;

}

C 中的函式指標

函式指標也叫指向函式的指標,它是為了提高函式的通用性而引入的。比較傳統的方法是在函式中增加引數,通過增加的引數來判斷到底要用什麼函式,這樣的缺點是靈活性差,為了支援多種方法要在函式中要寫很多分支判斷語句。比如,你要計算乙個函式值 如sin x,log10 x 的平方,按照傳統的方法你可以這樣寫這個函...

C 中的函式指標

在c 中,指標變數可以指向普通變數 字串和陣列等,同時也可以指向函式,因為乙個函式在編譯時被分配乙個入口位址,這個入口位址即為該函式的指標。所以,可以用指標變數指向函式,然後通過該指標變數呼叫此函式。在c 中,函式的名稱就代表了一般定義形式為 資料型別表示符 指標變數名 例如 int p 程式示例 ...

C 中的指標 二 函式指標

原帖及討論 http bbs.bc cn.net dispbbs.asp?boardid 56 id 92806 先說一下c式的函式 指標。這種函式 指標的應用十分廣泛。對於任何函式 void print string s 它的指標這樣定義 void pfun string null pfun pr...