When I execute the following C program, the output is i.
struct student {
char a[5];
};
int main() {
struct student s[] = { "hi","hey" };
printf("%c", s[0].a[1]);
return 0;
}
I am unable to understand what is the function of the command struct student s[] = { "hi","hey" };
Any possible justification will be highly helpful.
CodePudding user response:
The definition
struct student s[] = { "hi","hey" };
is equivalent to
struct student s[2] = { { "hi" }, { "hey" } };
So s[0] is the first element of the array s. And s[0].a[1] will be the second character of s[0].a.
