关于指向一维数组的指针作函数参数的问题?
#inlude "stdio.h"int main()
{
void search(float(*p)[4],int n);
float score[3][4]={{65,67,78,79},{80,87,90,81},{90,99,100,98}};
search(*score,12);
return 0;
}
void search(float (*p)[4],int n )//p是指向具有4个元素的一维数组的指针
{
int i;
printf("The score of No.%d are:\n",n);
for(i=0;i<4;i++)
printf("%5.2f",*(*(p+n)+i));
printf("\n");
}
上面的代码是谭浩强的C第四版里面的,254页上面写了这样的一段话:实参与形参如果是指针类型,应当注意它们的类型必须一致。不应把int *型的指针(及元素的地址)传给int(*)[4]型(指向一维数组)的指针变量。
关于这句话我有几个问题:这里的类型一致指的是什么?
为什么不可以将int *型的指针(及元素的地址)传给int(*)[4]型(指向一维数组)的指针变量?指针变量不就是指向地址的吗。。。。