什么是指針函數,指針 函數指針

 2023-10-07 阅读 16 评论 0

摘要:總結如下: #include <iostream> #include <iomanip> using namespace std;int Func(int a) { int b=a;cout<<"Func "; return b;} int Func1(int a) { int b=a;cout<<"Func1 "; return b;} int Func2(int a) { int b&

總結如下:

#include <iostream>
#include <iomanip>
using namespace std;int Func(int a)	 {	int b=a;cout<<"Func   ";    return b;}
int Func1(int a) {	int b=a;cout<<"Func1  ";	return b;}
int Func2(int a) {	int b=a;cout<<"Func2  ";	return b;}
int Func3(int a) {	int b=a;cout<<"Func3  ";	return b;}
int Func4(int a) {	int b=a;cout<<"Func4  ";	return b;}
int Func5(int a) {	int b=a;cout<<"Func5  ";	return b;}
int Func6(int a) {	int b=a;cout<<"Func6  ";	return b;}
int Func7(int a) {	int b=a;cout<<"Func7  ";	return b;}
int Func8(int a) {	int b=a;cout<<"Func8  ";	return b;}
int Func9(int a) {	int b=a;cout<<"Func9  ";	return b;}
int Func10(int a){	int b=a;cout<<"Func10 ";	return b;}void main()
{int intData;		// 一個整型數int *pintData;		// 一個指向整型數的指針int **ppintData;	// 一個指向指針的指針,它指向的指針指向一個整型數int intArray[10];					// 一個有10個整型數的數組int *intArray_IndexpintData[10];	// 一個有10個指針的數組,內個指針對應指向一個整型數int (*pintArray)[10];				// 一個指向有10個整型數數組的指針int (*pFunc)(int);						// 一個指向函數的指針,該函數有一個整形參數并返回一個整型數int (*intArray_IndexpFunc[10])(int);	// 一個有10個指針的數組,每個指針對應指向一個函數,該函數有一個整形參數并返回一個整型數intData=5;pintData=&intData;ppintData=&pintData;cout<<setw(10)<<intData <<setw(10)<< pintData<<setw(10)<<   ppintData <<endl<<endl;cout<<setw(10)<<&intData<<setw(10)<<&pintData<<setw(10)<<  &ppintData <<endl<<endl;cout<<setw(10)<<intData <<setw(10)<<*pintData<<setw(10)<<  *ppintData <<endl<<endl;cout<<setw(10)<<intData <<setw(10)<< pintData<<setw(10)<< &*ppintData <<endl<<endl;cout<<setw(10)<<intData <<setw(10)<< pintData<<setw(10)<<&(*ppintData)<<endl<<endl;cout<<setw(10)<<intData <<setw(10)<< pintData<<setw(10)<< *&ppintData <<endl<<endl;cout<<setw(10)<<intData <<setw(10)<< pintData<<setw(10)<<*(&ppintData)<<endl<<endl;for(int i=0;i<10;i++){	intArray[i]=i;	cout<<setw(10)<<intArray[i]<<" ";}cout<<endl<<endl;for(int j1=0;j1<10;j1++){	intArray_IndexpintData[j1]=&intArray[j1];cout<<setw(10)<<intArray_IndexpintData[j1]<<" ";	}cout<<endl<<endl;for(int j2=0;j2<10;j2++){	cout<<setw(10)<<intArray_IndexpintData[j2]<<" ";	}cout<<endl<<endl;for(int j3=0;j3<10;j3++){	cout<<setw(10)<<intArray_IndexpintData[j3]<<" ";	}cout<<endl<<endl;for(int j4=0;j4<10;j4++){	cout<<setw(10)<<intArray_IndexpintData[j4]<<" ";	}cout<<endl<<endl;pintArray=&intArray;pFunc=Func;cout<<setw(10)<<pFunc(12)<<endl;intArray_IndexpFunc[1]=Func1;intArray_IndexpFunc[2]=Func2;intArray_IndexpFunc[3]=Func3;intArray_IndexpFunc[4]=Func4;intArray_IndexpFunc[5]=Func5;intArray_IndexpFunc[6]=Func6;intArray_IndexpFunc[7]=Func7;intArray_IndexpFunc[8]=Func8;intArray_IndexpFunc[9]=Func9;intArray_IndexpFunc[10]=Func10;cout<<setw(10)<<intArray_IndexpFunc[1](1)<<endl;cout<<setw(10)<<intArray_IndexpFunc[2](2)<<endl;cout<<setw(10)<<intArray_IndexpFunc[3](3)<<endl;cout<<setw(10)<<intArray_IndexpFunc[4](4)<<endl;cout<<setw(10)<<intArray_IndexpFunc[5](5)<<endl;cout<<setw(10)<<intArray_IndexpFunc[6](6)<<endl;cout<<setw(10)<<intArray_IndexpFunc[7](7)<<endl;cout<<setw(10)<<intArray_IndexpFunc[8](8)<<endl;cout<<setw(10)<<intArray_IndexpFunc[9](9)<<endl;cout<<setw(10)<<intArray_IndexpFunc[10](10)<<endl;
cout<<endl<<endl;
fflush(stdin);       // 清空緩沖區int bianliang1,bianliang2;bianliang1=pFunc(22);
//	bianliang2=intArray_IndexpFunc[10](234);cout<<setw(8)<<bianliang1<<endl;
//	cout<<setw(8)<<bianliang2<<endl;
}
運行時的結果如下:

什么是指針函數,



下面看一下指針函數

函數指針的使用、函數的返回值為指針類型則命名的函數就叫指針函數

#include<iostream>
using namespace std;int * GetDate(int wk,int dy);void main()
{int week,weekPos;do{printf("Enter week(1-5)weekPos(1-7)\n");scanf("%d%d",&week,&weekPos);}while(week<1||week>5||weekPos<1||weekPos>7);cout<<"第"<<week<<"周"<<"星期"<<weekPos<<" 是:  ";printf("%d",*GetDate(week,weekPos));cout<<"號"<<endl;
}int * GetDate(int IndexRow,int IndexColumn)
{static int calendar[5][7]={{1,2,3,4,5,6,7},{8,9,10,11,12,13,14},{15,16,17,18,19,20,21},{22,23,24,25,26,27,28},{29,30,31,-1}};return &calendar[IndexRow-1][IndexColumn-1];
}
運行的結果如下:



版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。

原文链接:https://hbdhgg.com/4/126932.html

发表评论:

本站为非赢利网站,部分文章来源或改编自互联网及其他公众平台,主要目的在于分享信息,版权归原作者所有,内容仅供读者参考,如有侵权请联系我们删除!

Copyright © 2022 匯編語言學習筆記 Inc. 保留所有权利。

底部版权信息