国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學(xué)院 > 開發(fā)設(shè)計 > 正文

函數(shù)指針

2019-11-08 02:54:12
字體:
供稿:網(wǎng)友

這是什么玩意?

函數(shù)不是數(shù)據(jù),但它與變量有兩點相通之處:一是它也有類型(返回類型),二是它也有地址(入口地址)。

函數(shù)的地址也可作為指針的值,這就是函數(shù)指針

怎么用?

函數(shù)指針的說明格式與函數(shù)的原型相似,主要區(qū)別是:原來的“函數(shù)名”用“(*函數(shù)指針名)”替代。例如:

int(*pf)(float);

其中pf是一個函數(shù)指針變量。由于對函數(shù)指針pf的說明中已規(guī)定了函數(shù)的返回類型和參數(shù)表,因此,函數(shù)指針pf只能指向這類函數(shù)。

int f_float(float);int f_float_2(float);int f_char(char);int (*pf_1)(float) = &f_float;// 合法pf_1 = & f_float_2;// 合法int (*pf_2)(char) = &f_float;// 不合法int (*pf_3)(float) = &f_char;// 不合法

講了這么多,函數(shù)指針有什么用呢?

C++語言本身不允許把函數(shù)作為參數(shù)。然而有了函數(shù)指針就可以通過函數(shù)指針起到把函數(shù)作為參數(shù)的作用。

例如,用來計算函數(shù)定積分的函數(shù)simpson(),對于不同的函數(shù)計算其定積分值應(yīng)有一個“被積函數(shù)”參數(shù),那怎么把被積函數(shù)作為參數(shù)呢?函數(shù)指針這時候就派上用場了:

float simpson(float a, float b, float(*pf)(float));

其中參數(shù)a、b給出定積分的上下限,函數(shù)指針pf則指向被積函數(shù)

float a = 3.0, b = 5.0;// 上下限float f1(float){...}// 被積函數(shù)1float f1(float){...}// 被積函數(shù)2float (*pf)(float) = &f1;// 函數(shù)指針pf指向被積函數(shù)f1cout << simpson(a, b, pf) << endl;// 求函數(shù)f1在(3,5)區(qū)間內(nèi)的定積分pf = &f2;// 函數(shù)指針pf指向被積函數(shù)f2cout << simpson(a, b, pf) << endl;// 求函數(shù)f2在(3,5)區(qū)間內(nèi)的定積分
發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 舞阳县| 六枝特区| 萨嘎县| 洮南市| 司法| 柳河县| 开平市| 三穗县| 礼泉县| 诏安县| 宜阳县| 福州市| 聂荣县| 邹平县| 黎城县| 江川县| 徐州市| 永清县| 洛宁县| 桂阳县| 扶风县| 义乌市| 抚顺市| 来安县| 昌乐县| 公安县| 岗巴县| 汉川市| 西青区| 甘孜县| 邵武市| 神木县| 余江县| 大方县| 临安市| 田林县| 遂平县| 重庆市| 宜城市| 南京市| 攀枝花市|