gpt4 book ai didi

c - 将整数指针分配给结构数组并且仍然执行代码?

转载 作者:行者123 更新时间:2023-12-04 18:19:08 27 4
gpt4 key购买 nike

我在教科书中看到了以下 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;

最佳答案

Also i do not understand how we can assign an integer pointer to s in the statement: i=s;



这很简单,你不能在没有类型转换的情况下使用 C 语言。你的编译器可以接受这样的程序,但其他编译器有权拒绝编译该程序。

关于c - 将整数指针分配给结构数组并且仍然执行代码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11065135/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com