函数与二维数组 函数指针
函数与二维数组
为编写将二维数组作为参数的函数,必须牢记,数组名被视为其地址,因此,相应的形参是一个指针。
int data[3][4]={{1,2,3},{9,8,7,6},{2,5,8,7}};
int total =sum(data,3);
dat为数组名,该数组有三个元素。每个元素都是一个数组,因此data的类型是指向由4个int组成的数组的指针
sum原型
int sum( int (*arr)[4] , int size); 一个指向由4个int组成的数组的指针
函数参数不能是数组
int * arr[ 4 ]; 一个由4个指向int的指针组成的数组
sum函数在声明arr时没有使用const,因为这种技术只能用于指向基本类型的指针,而arr是指向指针的指针。
函数指针
1.获取函数地址 通过函数名获取地址
test ;函数地址 √
test();函数返回值 ×
2.声明函数指针 必须指定指针指向函数类型,即指定函数返回值、参数列表
函数原型: double sum( int );
指针类型声明:double ( * pd)(int);
3.使用函数指针调用函数
double sum(int) ;
double (* pd) (int);
pd=sum;
double x = sum(4);
double y = (*pd)(5);
double y = pd(5);

浙公网安备 33010602011771号