没有结构名称的结构
发布时间:2020-12-16 10:45:31 所属栏目:百科 来源:网络整理
导读:下面定义的结构没有结构名称.而且我无法得到阵列部分.提前致谢. 结构数组中的值是什么意思? #include stdio.hint main(){ struct { int x,y; } s[] = {10,20,15,25,8,75,6,2}; int *i; i = s; clrscr(); printf("%dn",*(i+3)); return 0;} 解决方法 现在我
下面定义的结构没有结构名称.而且我无法得到阵列部分.提前致谢.
结构数组中的值是什么意思? #include <stdio.h> int main() { struct { int x,y; } s[] = {10,20,15,25,8,75,6,2}; int *i; i = s; clrscr(); printf("%dn",*(i+3)); return 0; } 解决方法
现在我们有一个可以回答的问题:
struct { int x,y; } s[] = {10,2}; 这声明了一个名为s的匿名结构数组.每个结构都有两个int字段.未指定数组大小,因此它将保持初始化列表所需的大小(“初始化列表”是等号后括号括起的数字列表的技术术语). 教科书中的代码很草率;它没有标记初始化列表中的子结构;这是允许的,但被认为是糟糕的风格.编译器解释它与代码完全相同: struct { int x,y; } s[] = { {10,20},{15,25},{8,75},{6,2} }; 每个大括号括起来的数字初始化数组的一个元素.第一个数字初始化x,第二个y.所以,所有这些都是真的: s[0].x == 10 s[0].y == 20 s[1].x == 15 s[1].y == 25 等等. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |