标题:一个结构和一个数组的小问题。
只看楼主
三尺冰
Rank: 2
等 级:论坛游民
帖 子:17
专家分:50
注 册:2019-10-22
结帖率:66.67%
已结贴  问题点数:20 回复次数:2 
一个结构和一个数组的小问题。
大家好,我想请教一下:
    1.
程序代码:
typedef struct
{
   char name[9];
   int age;
}Student;

Student stu[10] = { {"Lisa", 18}, {"Mike", 19} };
printf("second name: %s\n", stu[1].name);   //为什么用&stu[1].name也没错。
   
   
    2.一维数组初始化时可以省略数组下标吗?
搜索更多相关主题的帖子: stu name 一个数 结构 Student 
2019-11-06 23:37
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:507
帖 子:8890
专家分:53117
注 册:2011-1-18
得分:20 
char name[9];

name 可隐式转化为 char*
&name 的类型是 char (*)[9]
它们的类型不同,值相同
而printf这种可变参数的函数擦除了参数类型,全由第一参数指定,故而加&也能运行正确,只是逻辑上讲不通。
2019-11-06 23:53
三尺冰
Rank: 2
等 级:论坛游民
帖 子:17
专家分:50
注 册:2019-10-22
得分:0 
好的,谢谢

天道酬勤,自强不息
2019-11-08 23:29



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-497653-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.568077 second(s), 7 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved