黑马程序员技术交流社区
标题:
自己尝试的另一种结构体数组遍历输出的方法,MJ老师没讲...
[打印本页]
作者:
xiezhongmin
时间:
2014-12-25 23:33
标题:
自己尝试的另一种结构体数组遍历输出的方法,MJ老师没讲...
完整代码:
#include <stdio.h>
int main (void)
{
struct list
{
int ranking;
char *name;
int score;
};
struct list lists[3]={
{1,"xie",5000},
{2,"li",4000},
{3,"xu",3000},
};
for (int i=0; i<3; i++)
{
printf ("%d\t %s\t %d\n",lists[i]);//这种写法也正确,暂时不知道原因
//printf ("%d\t %s\t %d\n",lists[i].ranking,lists[i].name,lists[i].score);
}
return 0;
}
为什么这种方法也可以,而且非常的精简好用:printf ("%d\t %s\t %d\n",lists[i]);
作者:
zhaojiajun
时间:
2014-12-25 23:33
把数组看成一个一维数组,相当于输出一个一维数组,printf ("%d\t %s\t %d\n",lists[i])怎么不可以啊
作者:
xiezhongmin
时间:
2014-12-26 01:15
恩,是的,结构体数组可以看成是其他类型的数组,只不过是用户自己定义的类型而已,这个数组本身就是结构体一维数组,感谢回答,即使知道它是用户定义类型的一维数组,你不觉得这种输出方式很特别很巧妙么
作者:
Ogre
时间:
2014-12-27 00:22
0.0涨姿势了呀真是
作者:
xiezhongmin
时间:
2014-12-27 00:31
有人在GCC中运行,没有成功遍历,这可能不是我们想象的那么简单,本人是用VC6.0运行的,我想应该牵涉到vc中补码等底层的因数!!!
作者:
pj1988
时间:
2014-12-29 22:22
好,赞个
作者:
王德亮
时间:
2015-1-2 12:17
好,学习了
作者:
VitaminesPop
时间:
2015-3-4 10:54
涨姿势了。。。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2