结构字段是如何填充的?
How are the structure fields getting populated?
当我执行下面的C程序时,输出是i
。
struct student {
char a[5];
};
int main() {
struct student s[] = { "hi","hey" };
printf("%c", s[0].a[1]);
return 0;
}
我无法理解命令的功能是什么struct student s[] = { "hi","hey" };
任何可能的理由都会非常有帮助。
定义
struct student s[] = { "hi","hey" };
等同于
struct student s[2] = { { "hi" }, { "hey" } };
所以s[0]
是数组s
的第一个元素。 s[0].a[1]
将是 s[0].a
的第二个字符。
当我执行下面的C程序时,输出是i
。
struct student {
char a[5];
};
int main() {
struct student s[] = { "hi","hey" };
printf("%c", s[0].a[1]);
return 0;
}
我无法理解命令的功能是什么struct student s[] = { "hi","hey" };
任何可能的理由都会非常有帮助。
定义
struct student s[] = { "hi","hey" };
等同于
struct student s[2] = { { "hi" }, { "hey" } };
所以s[0]
是数组s
的第一个元素。 s[0].a[1]
将是 s[0].a
的第二个字符。