程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> 關於C++ >> 淺析C++中的函數與指針

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

編輯:關於C++

淺析C++中的函數與指針。本站提示廣大學習愛好者:(淺析C++中的函數與指針)文章只能為提供參考,不一定能成為您想要的結果。以下是淺析C++中的函數與指針正文


用函數指針變量挪用函數

指針變量也能夠指向一個函數。一個函數在編譯時被分派給一個進口地址。這個函數進口地址就稱為函數的指針。可以用一個指針變量指向函數,然後經由過程該指針變量挪用此函數。

例 求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);

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved