C C 函式指標與指標函式

2021-09-04 11:29:59 字數 1137 閱讀 1720

面試的時候,經常有面試官問這個問題,在linux核心裡面也是經常被使用的,在看很多大神的**裡面,我們也經常遇到函式指標與指標函式,一樣,如果你自己沒問題了,就不用往下看了。

我們看個**

int *func(int a,int b)
我們之前說過運算子的優先順序,*的優先順序低於由於「*」的優先順序低於「()」的優先順序,因而func首先和後面的「()」結合,也就意味著,func是乙個函式。即:

int *(func)(int a,int b)
然後這個函式的返回值的型別是int * 即:指向int型別的指標

然後我們這樣修改上面的**

int (*func)(int a,int b)
(*func)說明func是乙個指標,然後後面跟著()說明這個指標指向乙個函式,即函式指標。

所以函式指標:首先是乙個指標,這個指標指向乙個函式

指標函式:首先是乙個函式,這個函式的返回值乙個指標

我們宣告乙個函式指標,正常方法是

int (*pfunc)(int a,int b)
當我們命名很多個函式指標的時候,用上面的方法顯得非常不方便,所以我們可以這樣做

typedef int (*pf) (int a,intb)

pf pfunc;

例程:

覺得不錯,請幫忙**,點讚,您的每一次支援,我都將銘記於心

C C 函式指標與指標函式等區別

1 函式指標 一種特殊的指標,它指向函式的入口 要宣告指向特定型別的函式指標,可以首先編寫這個函式的原型,然後用 p 來替換函式名,這樣p就是這類函式的指標。定義乙個函式指標p,只能指向返回值為int,形參為兩個int的函式 int p int int 求最大值 返回值是int型別,返回兩個整數中較...

C C 指標函式和函式指標

一 指標函式 當乙個函式宣告其返回值為乙個指標時,實際上就是返回乙個位址給呼叫函式,以用於需要指標或位址的表示式中。格式 型別說明符 函式名 引數 當然了,由於返回的是乙個位址,所以型別說明符一般都是int。例如 int getdate int aaa int,int 函式返回的是乙個位址值,經常使...

c C 指標函式

我們知道,指標式記憶體首位址,那是針對變數來說的,我也知道,程式是由變數,函式組成的。那麼函式的指標是怎麼定義的呢?我們也知道函式也是存放在記憶體的 區域,它同樣有首位址,關鍵是我們怎樣才能獲取它的位址呢?如果我們定義乙個 int test int a 的函式,那麼它的位址就是函式名字test,這一...