C語言 指標函式和函式指標

2021-08-31 09:33:12 字數 1116 閱讀 4230

1、指標函式是指帶指標的函式,本質上是乙個函式,函式返回值是某一型別的指標

定義:型別識別符號 *函式名(參數列)

int *f(int x,int y);
它首先是乙個函式,只不過這個函式的返回值是乙個位址值,函式返回值必須用同型別的指標變數來接受,也就是說,指標函式一定有函式返回值,而且,在主調函式中,函式返回值必須賦值給同型別的指標變數

float *fun();

float *p;

p = fun();

函式返回的是乙個位址值,經常使用在返回陣列的某一元素位址上。

//程式應該是很好理解的,子函式返回的是陣列某元素的位址。輸出的是這個位址裡的值。

int * getdate(int wk,int dy);

main()

while(wk<1||wk>5||dy<1||dy>7);

printf(%d\n,*getdate(wk,dy));

}int * getdate(int wk,int dy)

,    ,,,

};return &calendar[wk-1][dy-1];

}

2、函式指標是指向函式的指標變數,本質上是乙個指標變數

定義:類別識別符號 (*函式指標變數名)(參數列)

int (*f)(int x);

//函式指標變數型別為 int (int),變數名為f

//如果函式 int func(int x),則可函式指標變數初始化如下

方式2 :f = &func;

//如果函式 void func1(int x),則不能初始化為f=func1(),因為函式指標的宣告必須和它指向函式的宣告保持一致

例子:

void (*funcp)();

void filefunc(),editfunc();

main()

void filefunc()

void editfunc()

程式輸出:

filefunc

editfunc

C語言 指標函式和函式指標

指標函式和函式指標 指標函式其實是乙個簡稱,是指帶指標的函式,它本質上是乙個函式,只是返回的是某種型別的指標。其定義的格式為 型別識別符號 函式名 參數列 函式指標,從本質上說是乙個指標,只是它指向的不是一般的變數,而是乙個函式。因為每個函式都有乙個入口位址,函式指標指向的就是函式的入口位址。其定義...

C語言指標函式和函式指標區別

c和c 中經常會用到指標,和資料項一樣,函式也是有位址的,函式的位址是儲存其機器語言 的記憶體的開始位址。指標函式和函式指標經常會混淆,乙個是返回指標的函式,另乙個是指向函式的指標,下面就分別解釋指標函式和函式指標的區別。指標函式是返回指標的函式主體是函式,返回值是乙個指標 基本宣告形式 返回資料型...

C語言指標函式和函式指標區別

指標函式是返回指標的函式,主體是函式,返回值是乙個指標 基本宣告形式 返回資料型別 函式名 變數型別1,int fun int,int int fun int,int int fun int,int 這三種宣告都可以,第一種更加直觀 返回值是 int 型別 示例 includeint fun int...