各位大神帮我解释一下这个小程序吧!!!
#include"stdio.h"float *find();
main()
{
static float score[][4]={{60,70,80,90},{56,89,34,45},{34,23,56,45}};
float *p;
int i,m;
printf("Enter the number to be found:");
scanf("%d",&m);
printf("the score of NO.%d are:\n",m);
p=find(score,m);
for(i=0;i<4;i++)
printf("%5.2f\t",*(p+i));
}
float *find(float(*pionter)[4],int n)/*定义指针函数*/
{
float *pt;
pt=*(pionter+n);
return(pt);
}
谁能解释一下pt=*(pionter+n)的意思 ,不明白啊, 为什么? (*pionter)[i]表示取数组中第i+1个的值,但是*(pointer+n)是什么意思啊?
#include<stdio.h>
void main()
{
int b[4]={1,2,3,4},(*a)[4]=&b; //a指向b中所有元素。
printf("%d ",(*a)[0]); //输出b中的第一个元素
}
这个我明白,但是二维的不懂啊,大家帮忙解释一下啊!!