rt,如程序:
#include <stdio.h>
void main()
{
void search(float (*p)[4],int n);
float score[3][4]={{65,67,70,60},{80,87,90,81},{90,99,100,98}};
search(score,2);
}
void search(float (* p)[4],int n)
{int i;
printf("the score of No.%d are:\n",n);
for(i=0;i<4;i++)
printf("%5.2f ",*(*(p+n)+i));
}
中,指针变量(形参)p 传递的值为 score ,即 &score [0], 所以 *p 所指向 score[0], 即 &score [0][0] ,我是这样理解的,觉得 (*p)[4]中的 [4] 可以省略,但调试程序时却报错,这是为何?