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

首頁 > 編程 > C++ > 正文

淺析C++中的函數與指針

2020-01-26 14:52:47
字體:
來源:轉載
供稿:網友

用函數指針變量調用函數

指針變量也可以指向一個函數。一個函數在編譯時被分配給一個入口地址。這個函數入口地址就稱為函數的指針。可以用一個指針變量指向函數,然后通過該指針變量調用此函數。

例 求a和b中的大者。

先按一般方法寫程序:

#include <iostream>using namespace std;int main(){  int max(int x,int y); //函數聲明  int a,b,m;  cin>>a>>b;  m=max(a,b); //調用函數max,求出最大值,賦給m  cout<<"max="<<m<<endl;  return 0;}int max(int x,int y){  int z;  if(x>y) z=x;  else z=y;  return(z);}

可以用一個指針變量指向max函數,然后通過該指針變量調用此函數。定義指向max函數的指針變量的方法是:


請將它和函數max的原型作比較:

  int max(int, int); //max函數原型

可以看出: 只是用(*p)取代了max,其他都一樣。現在將上面程序的主函數修改如下:

#include <iostream>using namespace std;int main( ){  int max(int x,int y); //函數聲明  int (*p)(int,int); //定義指向函數的指針變量p  int a,b,m;  p=max; //使p指向函數max  cin>>a>>b;  m=p(a,b);  cout<<″max=″<<m<<endl;  return 0;}


請注意第7行的賦值語句“p=max;”。此語句千萬不要漏寫,它的作用是將函數max的入口地址賦給指針變量p。這時,p才指向函數max。


指向函數的指針變量的一般定義形式為:
    函數類型  (*指針變量名)(函數形參表);

C++返回指針值的函數
一個函數可以帶回一個整型值、字符值、實型值等,也可以帶回指針型的數據,即地址。其概念與以前類似,只是帶回的值的類型是指針類型而已。返回指針值的函數簡稱為指針函數。

定義指針函數的一般形式為:
    類型名 *函數名(參數表列);

例如:

  int *a(int x, int y);

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 全州县| 弋阳县| 三穗县| 多伦县| 项城市| 莆田市| 家居| 神农架林区| 东莞市| 平邑县| 益阳市| 永寿县| 双柏县| 壤塘县| 色达县| 东阳市| 锦州市| 天柱县| 大悟县| 庆安县| 嘉义县| 阳春市| 南京市| 桃园县| 长沙市| 稻城县| 屏东市| 满城县| 建宁县| 枞阳县| 巴中市| 枝江市| 临猗县| 建阳市| 石台县| 东方市| 寿阳县| 梅州市| 平陆县| 武平县| 云梦县|