函数与二维数组 函数指针

函数与二维数组

为编写将二维数组作为参数的函数,必须牢记,数组名被视为其地址,因此,相应的形参是一个指针。

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);

posted @ 2021-07-29 15:49  白米a  阅读(303)  评论(0)    收藏  举报