//用指针 操作 二维数组 float (*pointer)[4] , pointer是float *型变量,要看清楚!指向一维数组,有4个元素。
float * search(float(* pointer)[4],int n)
看清这种写法!
// 注意!! *(pointer + n) 和 (*pointer + n) 的区别。
// pointer是指向二维数组的!! 即 pointer是 int * * 类型, *pointer +n, 相当于一维数组下标加n
int main(){
float score[][4] = {{60,70,80,90},{56,89,67,88},{34,78,90,66}};// score +i 是地i行的首地址
float * search(float (*pointer)[4],int n); //(*pointer)[4] ? 代表的是一位数组
float * p;
int i,m;
printf("输入学生个数:");
scanf("%d",&m);
p = search(score,m);
for(i=0; i<4; i++)
printf("%5.2f\t",*(p+i));
printf("\n");
float * search(float(* pointer)[4],int n){
float * pt;
pt = *(pointer+n);
return(pt);
}
return 0;
}