cppTest-3.0:指针相关-3(指针与函数)

/**
 *cppTest-3.0:指针相关-3(指针与函数)
 *
 *author 炜sama
 */
#include<iostream.h>
int SumArray(int arr[],int n);
void fun();
void main()
{
	static int a[3][4]={1,3,5,7,9,11,13,15,17,19,21,23};
	int *p,total1,total2;
	int (*pt)(int *,int); // pt与SumArray形式应保持一致
	pt=SumArray;//赋值到函数指针时不能带参数!
	p=a[0];
	total1=SumArray(p,12);
	total2=(*pt)(p,12);//成功,教程上推荐的方法
	//total2=*pt(p,12);//编译错误,错误的调用方法
	//total2=pt(p,12);//成功
	cout<<"total1="<<total1<<", total2="<<total2<<endl;
	
	void (*pFun)();
	pFun=fun;

	//*pFun();//编译错误,错误的调用方法
	//pFun;//没反应,错误的调用方法
	pFun();//成功
	//(*pFun);//没反应,错误的调用方法
	(*pFun)();//成功,教程上推荐的方法
}
int SumArray(int arr[],int n)
{
	int i,sum=0;
	for(i=0;i<n;i++) sum=sum+arr[i];
		return sum;
}
void fun(){
	cout<<"无参无返回值fun"<<endl;
}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章