函式和指標

2021-08-21 20:13:40 字數 1031 閱讀 1306

在c語言中,乙個函式總是占用一段連續的記憶體區,而函式名就是該函式所佔記憶體區的首位址。

把函式的這個首位址

(或稱入口位址

)賦予乙個指標變數,使該指標變數指向該函式。然後通過指標變數就可以找到並呼叫這個函式。我們把這種指向函式的指標變數稱為

「函式指標變數」。

1.函式指標變數定義的一般形式為:

型別說明符 (*指標變數名)();

例如:int (*pf)();

表示pf是乙個指向函式入口的指標變數,該函式的返回值(函式值)是整型。

例項:

#include void fun(float a,int len, int (*p)(int, int));

int greater(int x, int y)

int main()

;    int i;

int len=sizeof(a)/sizeof(a[0]);

printf("please input 5 numbers:\n");

for(i=0;i

2.在c語言中允許乙個函式的返回值是乙個指標(即位址),這種返回指標值的函式稱為指標型函式。

定義指標型函式的一般形式為:

型別說明符 *函式名(形參表)

【注】:其中函式名之前加了「*」號表明這是乙個指標型函式,即返回值是乙個指標。型別說明符表示了返回的指標值所指向的資料型別。

例項:#include #include #include char *wdd()

int main()

int(*p)() 和 int *p()區別

int (*p)()是乙個變數說明,說明p是乙個指向函式入口的指標變數,該函式的返回值是整型量,(*p)的兩邊的括號不能少。

int *p()則不是變數說明而是函式說明,說明p是乙個指標型函式,其返回值是乙個指向整型量的指標,*p兩邊沒有括號。作為函式說明,在括號內最好寫入形式引數,這樣便於與變數說明區別。

對於指標型函式定義,int *p()只是函式頭部分,一般還應該有函式體部分。

指標函式和函式指標

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

函式指標和指標函式

函式指標 在程式執行中,函式 是程式的演算法指令部分,它們和陣列一樣也占用儲存空間,都有相應的位址。可以使用指標變數指向陣列的首位址,也可以使用指標變數指向函式 的首位址,指向函式 首位址的指標變數稱為函式指標。1 函式指標定義 函式型別 指標變數名 形參列表 函式型別 說明函式的返回型別,由於 的...

函式指標和指標函式

函式指標 在程式執行中,函式 是程式的演算法指令部分,它們和陣列一樣也占用儲存空間,都有相應的位址。可以使用指標變數指向陣列的首位址,也可以使用指標變數指向函式 的首位址,指向函式 首位址的指標變數稱為函式指標。1 函式指標定義 函式型別 指標變數名 形參列表 函式型別 說明函式的返回型別,由於 的...