對C 中指向函式的指標的認識

2021-06-28 04:31:04 字數 767 閱讀 9469

指標不僅可以指向資料,還可以指向函式。

資料在程式中要有記憶體位址進行儲存,同樣,函式**也需要占用記憶體空間進行儲存。

資料型別函式名(形參列表);

其實也就是:

資料型別函式**首位址(形參列表);

那麼指標就可以指向乙個函式了,指向函式的指標也叫做函式指標。

函式指標的宣告方式:

資料型別(*函式指標名)(形參列表);

函式指標的賦值方式:

函式指標名=函式名;

其中資料型別就是函式指標所指的函式的返回型別,函式指標名就是函式指標的名字,形參列表就是宣告了形參。

例如:void (*functionpointer)(float);

就宣告了乙個返回值是空型別,形參型別是float的函式的指標。

注意:可以看出函式指標的宣告形式是複雜的,當程式中需要宣告多個這種函式指標時,用這種宣告方式就有點兒繁瑣,這時就要用到乙個關鍵字:typedef。舉個例子:

typedef void(*functionpointer)(float);

這就相當於宣告了乙個新的自定義資料型別functionpointer。這種型別指向了乙個返回值是空型別,形參是float型別的函式,當需要這種型別的函式指標時,就可以直接宣告為:

functionpointerfuncpoint;

這就宣告了乙個指向返回值是空型別,形參是float型別的函式的函式指標funcpoint。

還有,使用函式指標呼叫函式和用函式名呼叫函式是一樣的。

以上就是我對於函式指標的一些認識。

c 中指向函式的指標

函式指標是指指向函式而非指向物件的指標。像其他指標一樣,函式指標也指向某個特定的型別。函式型別由其返回型別以及形參表確定,而與函式名無關。int pi const string const string 這個語句將pi申明為指向函式的指標,它所指向的函式帶有兩個const string 型別的形參和...

對C 中指向類的非靜態成員的指標的認識

指標還可以指向類的非靜態成員,也就是資料成員和函式成員。1 指向資料成員的指標 宣告形式 資料型別 類名 成員指標名 賦值形式 成員指標名 類名 成員資料名 訪問形式 物件名.成員指標名 物件指標 成員指標名 2 指向函式成員的指標 宣告形式 資料型別 類名 成員指標名 形參列表 賦值形式 成員指標...

C C 語言中指向函式的指標

在c語言中,函式本身不是變數,但可以定義指向函式的指標,這種指標可以被賦值 存放於陣列之中,傳遞給函式及作為函式的返回值等 the c programming language second edition 下面給出幾個簡單的例子來說明指向函式的指標。第乙個例子說明指向函式的指標如何說明 賦值 呼叫...