欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

淺析C++中的函數(shù)與指針

 更新時間:2015年09月14日 16:18:58   投稿:goldensun  
這篇文章主要介紹了淺析C++中的函數(shù)與指針,是C++入門學(xué)習(xí)中的基礎(chǔ)知識,需要的朋友可以參考下

用函數(shù)指針變量調(diào)用函數(shù)

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

例 求a和b中的大者。

先按一般方法寫程序:

#include <iostream>
using namespace std;
int main()
{
  int max(int x,int y); //函數(shù)聲明
  int a,b,m;
  cin>>a>>b;
  m=max(a,b); //調(diào)用函數(shù)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函數(shù),然后通過該指針變量調(diào)用此函數(shù)。定義指向max函數(shù)的指針變量的方法是:


請將它和函數(shù)max的原型作比較:

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

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

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


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


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

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

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

例如:

  int *a(int x, int y);

相關(guān)文章

最新評論