亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

c++中函數指針的介紹

發布時間:2021-09-13 11:24:55 來源:億速云 閱讀:173 作者:chen 欄目:編程語言

這篇文章主要講解了“c++中函數指針的介紹”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“c++中函數指針的介紹”吧!

指向函數的指針:

       一個函數在編譯時被分配一個入口地址,這個函數的入口地址被稱為函數的指針。

     與數組名代表數組首元素地址類型,函數名代表該函數的入口地址。

     定義形式如下:

    數據類型 (*指針變量名)(函數參數列表)

   注意:

1.int (*p)(int ,int ) 表示定義一個指向函數的指針變量p,它不是固定指向哪一個函數,而只是表示定義了這樣一個類型的變量,它是專門來存放函數的入口地址的,在程序中把哪一個函數(該函數的值是整型的,且有兩個整型參數)的地址賦給它,它就指向哪一個函數。在一個程序中,一個指針變量可以先后指向同類型的不同函數。

2.給函數指針變量賦值時,只需要給出函數名,不需要給出參數

如p=max;

3.用函數指針調用函數時,只需要將(*p)代替函數名即可,在(*p)之后的括號中根據需要寫上實參。

如:c=(*p)(a,b)

4.對函數指針變量進行p+n,p++,p--等運算是無意義的

代碼例子:

// CppTest.cpp : 定義控制臺應用程序的入口點。
//

#include "stdafx.h"
#include <iostream>
using namespace std;

int max(int x,int y);
int min(int x,int y);
int sub(int x,int y);
int call(int x,int y,int (*p)(int x,int y));

int _tmain(int argc, _TCHAR* argv[])
{
	cout<<"max:"<<call(5,10,max)<<endl;
	cout<<"min:"<<call(5,10,min)<<endl;
	cout<<"sub:"<<call(5,10,sub)<<endl;

	//cout<<"----------------------------"<<endl;

	//int (*p)(int ,int);
	//p=max;
	//cout<<"max:"<<(*p)(5,10)<<endl;
	//p=min;
	//cout<<"min:"<<(*p)(5,10)<<endl;
	//p=sub;
	//cout<<"sub:"<<(*p)(5,10)<<endl;

	return 0;
}

int max(int x, int y)
{
	if (x>y) 
	{
		return x;
	}
	return y;
}

int min(int x, int y)
{
	if (x>y) 
	{
		return y;
	}
	return x;
}

int sub(int x, int y)
{
	return x+y;
}


int call(int x,int y,int (*p)(int x,int y))
{
	return (*p)(x,y);
}

打印結果如下:


c++中函數指針的介紹

感謝各位的閱讀,以上就是“c++中函數指針的介紹”的內容了,經過本文的學習后,相信大家對c++中函數指針的介紹這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

c++
AI

五华县| 成都市| 潢川县| 略阳县| 喀喇| 溆浦县| 民县| 呼和浩特市| 江华| 通化县| 宣汉县| 牙克石市| 且末县| 呼玛县| 瑞金市| 综艺| 连江县| 双峰县| 望谟县| 道孚县| 西林县| 沾益县| 云阳县| 荆门市| 东台市| 顺平县| 吴旗县| 宝兴县| 长汀县| 庆阳市| 安丘市| 郸城县| 博湖县| 华安县| 图木舒克市| 云浮市| 前郭尔| 余干县| 腾冲县| 武安市| 舒兰市|