国产探花免费观看_亚洲丰满少妇自慰呻吟_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ā)表
主站蜘蛛池模板: 江孜县| 浠水县| 宁国市| 河南省| 察隅县| 公安县| 福州市| 册亨县| 景德镇市| 晋城| 阳高县| 土默特左旗| 舞钢市| 安阳市| 鸡西市| 买车| 西青区| 洛扎县| 班戈县| 长沙市| 进贤县| 凤庆县| 闽清县| 井冈山市| 兴文县| 额敏县| 竹北市| 长春市| 敖汉旗| 浦东新区| 津市市| 东山县| 祁东县| 多伦县| 仁布县| 宣化县| 安吉县| 长葛市| 阿克苏市| 秦皇岛市| 定南县|