您好,登錄后才能下訂單哦!
這篇文章主要介紹“C語言函數指針怎么用”,在日常操作中,相信很多人在C語言函數指針怎么用問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”C語言函數指針怎么用”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!
對于一個函數如下:
<返回值類型> func (<參數1類型> <參數1>,...)
其函數指針的格式為
<返回值類型> (*<指針名>) (<參數1類型> <參數1>,...)
如下是實例:
定義如下一個函數指針
int main(int argc ,char* argv[]){ double (*a)(int n1,int n1) = NULL; }
這里a的含義是指向參數為整型n1,整型n2,返回值為double的函數的指針,實操中可以省略參數名,只留下參數類型,如下:
double (*a)(int ,int ) = NULL;
而如下是指向返回值為指針類型的函數:
double* (*a)(double* ,int ) = foo;
函數名其實就是函數的地址,我們只需要將這個地址賦值給函數指針即可,如下
#include<stdio.h> double* foo(double *a ,int b){ return a; } int main(int argc ,char* argv[]){ double* (*a)(double* ,int ) = foo; }
通過調試,我們可以輕松看到foo和a的值:
函數指針a可以作為另外一個函數b的變量,實現在函數b中運行函數a
函數指針可以作為結構體的一個域,就像C++中的類函數一樣
到此,關于“C語言函數指針怎么用”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。