儀表保護箱如何分類及應用(儀表保護箱如何分類及應用圖片) 羊角梳子和牛角梳子哪個更好(銀梳子和牛角梳哪個好) 進出口貿(mào)易怎么做(外貿(mào)出口流程) kingsoft是什么意思可以刪除嗎(kingsoft可以刪除) 淘寶試用攻略(淘寶試用攻略在哪里看) 嬰兒鬧夜有什么好辦法(嬰兒鬧夜有什么好辦法緩解) 如何重新激活淘寶店鋪及發(fā)布寶貝(如何重新激活淘寶店鋪及發(fā)布寶貝的權(quán)限) 沖鋒衣如何選購全攻略(沖鋒衣購買指南) 藍色生死戀演員表恩熙小時候(藍色生死戀演員表) QQ如何打開電臺隨機播放(QQ音樂怎么開電臺) 如何怎么下載安裝steam平臺(steam平臺游戲安裝教程) 大地保險車險報案電話(大地保險車險怎么樣) 武昌魚清蒸的做法(武昌魚清蒸的做法幾分鐘) 常用的招聘網(wǎng)站有哪些(現(xiàn)在招聘都用什么網(wǎng)站) 雨愛吉他譜彈唱原版(雨愛吉他譜簡單版) 海帶打結(jié)的作用(海帶打結(jié)的作用原理) 電腦怎么制作表格新手 初學者(怎樣制作表格) 暴走英雄壇丐幫入門任務攻略流程(暴走英雄壇丐幫入門任務攻略流程視頻) 最簡單的iPhone鈴聲設置方法(iphone鈴聲怎樣設置) 如何做好一個保險律師(如何做好一個保險律師助理) 手閱怎么進行提現(xiàn)賬號設置(掌閱能提現(xiàn)嗎) 聯(lián)想A366T獲取Root權(quán)限詳細圖文教程 一個人筆仙游戲怎么玩(筆仙游戲怎么玩圖片) 手動蝶閥怎么看開關(guān)(手動蝶閥怎么看開關(guān)工具) 如何下載【武林外傳】(武林外傳在哪里可以免費下載) 燙金字怎么做(燙金字) 如何讓茶樓加盟店生意更好?(如何讓茶樓加盟店生意更好些) 如何判斷qq是否隱身(怎么看QQ是否隱身) 80平米兩室一廳裝修(8度) 瓷磚的色彩應該如何搭配?(瓷磚的色彩應該如何搭配好看) 微觀經(jīng)濟學的定義是什么(微觀經(jīng)濟學的定義) 書包背帶怎么系(書包背帶怎么系不會掉) 研究發(fā)現(xiàn)與巴頓病有關(guān)的蛋白質(zhì)對于產(chǎn)生新的溶酶體至關(guān)重要 研究人員開發(fā)了一種新型抗炎藥 NLRP1 和 NLRP3 炎癥小體抑制劑 聲明概述了心臟腫瘤護理和研究方面的不平等 全心全意為人民服務(全心全意) 360手機助手怎么下載(360手機助手怎么下載軟件到電腦) 懷孕期間使用 THC 與胎兒發(fā)育的變化有關(guān) 研究發(fā)現(xiàn)空氣質(zhì)量差會以多種方式影響心理健康 研究揭示了后來患上幼年特發(fā)性關(guān)節(jié)炎的兒童腸道細菌的差異 研究證明微生物群移植療法對干細胞移植和白血病患者的安全性 熱量:人體能承受多少熱量 了解甲型 乙型 丙型 丁型和戊型肝炎之間的區(qū)別 蜱蟲季節(jié)即將開始 它們出現(xiàn)在新的地方 怎么做松鼠桂魚 漢語拼音的音節(jié)是什么(漢語拼音中什么叫音節(jié)) qq如何查看我的勛章墻(怎么看qq我的勛章墻) 牡丹鸚鵡的主要食物有哪些?(牡丹鸚鵡的主要食物有哪些呢) 求發(fā)財路子(求發(fā)財之路) 怎么在sci上發(fā)表文章(怎么能發(fā)表sci)
您的位置:首頁 >綜合知識 >

函數(shù)指針和指針函數(shù)用法和區(qū)別(函數(shù)指針和指針函數(shù)有啥區(qū)別)

導讀 關(guān)于函數(shù)指針和指針函數(shù)用法和區(qū)別,函數(shù)指針和指針函數(shù)有啥區(qū)別這個問題很多朋友還不知道,今天小六來為大家解答以上的問題,現(xiàn)在讓我們一

關(guān)于函數(shù)指針和指針函數(shù)用法和區(qū)別,函數(shù)指針和指針函數(shù)有啥區(qū)別這個問題很多朋友還不知道,今天小六來為大家解答以上的問題,現(xiàn)在讓我們一起來看看吧!

1、函數(shù)指針和指針函數(shù)的區(qū)別:一、【函數(shù)指針】 在程序運行中,函數(shù)代碼是程序的算法指令部分,它們和數(shù)組一樣也占用存儲空間,都有相應的地址。

2、可以使用指針變量指向數(shù)組的首地址,也可以使用指針變量指向函數(shù)代碼的首地址,指向函數(shù)代碼首地址的指針變量稱為函數(shù)指針。

3、 函數(shù)指針定義 函數(shù)類型(*指針變量名)(形參列表); “函數(shù)類型”說明函數(shù)的返回類型,由于“()”的優(yōu)先級高于“*”,所以指針變量名外的括號必不可少,后面的“形參列表”表示指針變量指向的函數(shù)所帶的參數(shù)列表。

4、 例如: int (*f)(int x); double (*ptr)(double x); 在定義函數(shù)指針時請注意: 函數(shù)指針和它指向的函數(shù)的參數(shù)個數(shù)和類型都應該是—致的; 函數(shù)指針的類型和函數(shù)的返回值類型也必須是一致的。

5、 2、函數(shù)指針的賦值 函數(shù)名和數(shù)組名一樣代表了函數(shù)代碼的首地址,因此在賦值時,直接將函數(shù)指針指向函數(shù)名就行了。

6、 例如, int func(int x); /* 聲明一個函數(shù) */ int (*f) (int x); /* 聲明一個函數(shù)指針 */ f=func; /* 將func函數(shù)的首地址賦給指針f */ 賦值時函數(shù)func不帶括號,也不帶參數(shù),由于func代表函數(shù)的首地址,因此經(jīng)過賦值以后,指針f就指向函數(shù)func(x)的代碼的首地址。

7、 3、通過函數(shù)指針調(diào)用函數(shù) 函數(shù)指針是通過函數(shù)名及有關(guān)參數(shù)進行調(diào)用的。

8、 與其他指針變量相類似,如果指針變量pi是指向某整型變量i的指針,則*p等于它所指的變量i;如果pf是指向某浮點型變量f的指針,則*pf就等價于它所指的變量f。

9、同樣地,*f是指向函數(shù)func(x)的指針,則*f就代表它所指向的函數(shù)func。

10、所以在執(zhí)行了f=func;之后,(*f)和func代表同一函數(shù)。

11、 由于函數(shù)指針指向存儲區(qū)中的某個函數(shù),因此可以通過函數(shù)指針調(diào)用相應的函數(shù)。

12、現(xiàn)在我們就討論如何用函數(shù)指針調(diào)用函數(shù),它應執(zhí)行下面三步: 首先,要說明函數(shù)指針變量。

13、例如:int (*f)(int x); 其次,要對函數(shù)指針變量賦值。

14、 例如: f=func; (func(x)必須先要有定義) 最后,要用 (*指針變量)(參數(shù)表);調(diào)用函數(shù)。

15、 例如: (*f)(x);(x必須先賦值) 【例】任意輸入n個數(shù),找出其中最大數(shù),并且輸出最大數(shù)值。

16、 main() { int f(); int i,a,b; int (*p)(); /* 定義函數(shù)指針 */ scanf("%d",&a); p=f; /* 給函數(shù)指針p賦值,使它指向函數(shù)f */ for(i=1;i<9;i++) { scanf("%d",&b); a=(*p)(a,b); /* 通過指針p調(diào)用函數(shù)f */ } printf("The Max Number is:%d",a) } f(int x,int y) { int z; z=(x>y)?x:y; return(z); } 運行結(jié)果為: 343 -45 4389 4235 1 -534 988 555 789↙ The Max Number is:4389 二、【指針函數(shù)】 一個函數(shù)不僅可以帶回一個整型數(shù)據(jù)的值,字符類型值和實型類型的值,還可以帶回指針類型的數(shù)據(jù),使其指向某個地址單元。

17、 返回指針的函數(shù),一般定義格式為: 類型標識符 *函數(shù)名(參數(shù)表) int *f(x,y); 其中x,y是形式參數(shù),f是函數(shù)名,調(diào)用后返回一個指向整型數(shù)據(jù)的地址指針。

18、f(x,y)是函數(shù),其值是指針。

19、 如:char *ch();表示的就是一個返回字符型指針的函數(shù),請看下面的例題: 【例】將字符串1(str1)復制到字符串2(str2),并輸出字符串2. #include "stdio.h" main() { char *ch(char *,char *); char str1[]="I am glad to meet you!"; char str2[]="Welcom to study C!"; printf("%s",ch(str1,str2)); } char *ch(char *str1,char *str2) { int i; char *p; p=str2 if(*str2==NULL) exit(-1); do { *str2=*str1; str1++; str2++; }while(*str1!=NULL); return(p); } 通過分析可得: 函數(shù)指針是一個指向函數(shù)的指針,而指針函數(shù)只是說明他是一個返回值為指針的函數(shù), 函數(shù)指針可以用來指向一個函數(shù)。

本文分享完畢,希望對大家有所幫助。

標簽:

免責聲明:本文由用戶上傳,如有侵權(quán)請聯(lián)系刪除!

最新文章