/**
*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;
}
cppTest-3.0:指针相关-3(指针与函数)
最新推荐文章于 2021-06-16 18:00:00 发布