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...