我在教科书中看到了以下 C 代码片段,它工作正常......但我不明白输出以及为什么它工作正常,因为它看起来不对:
#include <stdio.h>
int main()
{
struct {
int x,y;
} s[4] = {{10,20},{15,25},{8,75},{6,2}};
int *i;
i=s;
clrscr();
printf("\n%d",s[i[7]].x);
printf("\n%d",i[i[1]-i[2]]);
printf("\n%d",i[s[3].y]);
printf("\n%d",(s+1)->x+5);
printf("\n%d",s[i[0]-i[4]].y + 10);
printf("\n%d",++i[i[6]]);
getch();
return 0;
}
另外我不明白我们如何s
在语句中分配一个整数指针
i=s;