如果在程式中定義了乙個函式,那麼在編譯時系統就會為這個函式**分配一段儲存空間,這段儲存空間的首位址稱為這個函式的位址。而且函式名表示的就是這個位址(類似於陣列名就是陣列的首位址)。既然是位址我們就可以定義乙個指標變數來存放,這個指標變數就叫作函式指標變數,簡稱函式指標。
首先我們先看看下面的**:
**如下(示例):
#include
void
fun(
)int
main()
讓我們看下結果:
毫無疑問,結果變數a會輸出乙個位址,這說明變數a裡面存放的是fun()函式的位址入口,知道了這個之後,筆者就想:既然fun是函式的入口位址,而變數a存放了fun函式的入口位址,那麼能否通過變數a來呼叫fun函式呢?接下來看**:
**如下(示例):
#include
void
fun(
)int
main()
結果如下:
編譯報錯,編譯器告訴我們變數a不是函式指標。
兜兜轉轉,接下來看看真正的函式指標長什麼樣。
**如下(示例):
#include
void
fun(
)int
main()
結果如下:
process returned 0 (0x0) execution time : 3.534 s
press any key to continue.
C語言 指標函式和函式指標
指標函式和函式指標 指標函式其實是乙個簡稱,是指帶指標的函式,它本質上是乙個函式,只是返回的是某種型別的指標。其定義的格式為 型別識別符號 函式名 參數列 函式指標,從本質上說是乙個指標,只是它指向的不是一般的變數,而是乙個函式。因為每個函式都有乙個入口位址,函式指標指向的就是函式的入口位址。其定義...
C語言 指標函式和函式指標
1 指標函式是指帶指標的函式,本質上是乙個函式,函式返回值是某一型別的指標 定義 型別識別符號 函式名 參數列 int f int x,int y 它首先是乙個函式,只不過這個函式的返回值是乙個位址值,函式返回值必須用同型別的指標變數來接受,也就是說,指標函式一定有函式返回值,而且,在主調函式中,函...
c語言函式指標與指標函式
include include include using namespace std 1 c語言函式指標 解釋 這是一種很特殊的指標,它的指向是乙個函式的入口 作用 該指標可以接受乙個函式的位址,代表這個函式執行函式的操作 函式指標舉例 下面是乙個函式指標pfunc,它只能指向返回值為float,...