#include <stdio.h>
#include <stdlib.h>
int main ()
{
// The nested structure within myStruct will hold an array of 2 ints
typedef struct{
int Vals[2];
} nestedStruct;
// myStruct is a struct typedef that has 2 fields
typedef struct{
int AnInt;
float AFloat;
nestedStruct S;
} myStruct;
// make an instance of myStruct called M using the typedef
myStruct M[3] = {{1, 1.5f, 10, 20}, {2, 2.5f, 30, 40}, {3, 3.5f, 50, 60}};
int index, subindex;
for (index = 0; index < 3; index++) {
printf ("M[%d] has values:\n AnInt=%d\n AFloat=%f\n", index, M[index].AnInt, M[index].AFloat);
printf (" The nested structure contains: "); for (subindex = 0; subindex < 2; subindex++) {
printf ("%d ", M
[index
].
S.
Vals[subindex
]); }
}
return 0;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CiNpbmNsdWRlIDxzdGRsaWIuaD4KCmludCBtYWluICgpCnsKCS8vIFRoZSBuZXN0ZWQgc3RydWN0dXJlIHdpdGhpbiBteVN0cnVjdCB3aWxsIGhvbGQgYW4gYXJyYXkgb2YgMiBpbnRzCgl0eXBlZGVmIHN0cnVjdHsKCQlpbnQgVmFsc1syXTsKCX0gbmVzdGVkU3RydWN0OwoJLy8gbXlTdHJ1Y3QgaXMgYSBzdHJ1Y3QgdHlwZWRlZiB0aGF0IGhhcyAyIGZpZWxkcwoJdHlwZWRlZiBzdHJ1Y3R7CgkJaW50IEFuSW50OwoJCWZsb2F0IEFGbG9hdDsKCQluZXN0ZWRTdHJ1Y3QgUzsKCX0gbXlTdHJ1Y3Q7CgkvLyBtYWtlIGFuIGluc3RhbmNlIG9mIG15U3RydWN0IGNhbGxlZCBNIHVzaW5nIHRoZSB0eXBlZGVmCglteVN0cnVjdCBNWzNdID0ge3sxLCAxLjVmLCAxMCwgMjB9LCB7MiwgMi41ZiwgMzAsIDQwfSwgezMsIDMuNWYsIDUwLCA2MH19OwoJaW50IGluZGV4LCBzdWJpbmRleDsKCWZvciAoaW5kZXggPSAwOyBpbmRleCA8IDM7IGluZGV4KyspIHsKCQlwcmludGYgKCJNWyVkXSBoYXMgdmFsdWVzOlxuIEFuSW50PSVkXG4gQUZsb2F0PSVmXG4iLAoJCQkJaW5kZXgsIE1baW5kZXhdLkFuSW50LCBNW2luZGV4XS5BRmxvYXQpOwoJCQkJcHJpbnRmICgiIFRoZSBuZXN0ZWQgc3RydWN0dXJlIGNvbnRhaW5zOiAiKTsKCQkJCWZvciAoc3ViaW5kZXggPSAwOyBzdWJpbmRleCA8IDI7IHN1YmluZGV4KyspIHsKCQkJCQlwcmludGYgKCIlZCAiLCBNW2luZGV4XS5TLlZhbHNbc3ViaW5kZXhdKTsKCQkJCX0KCQkJCXByaW50ZiAoIlxuIik7Cgl9CglyZXR1cm4gMDsKfQ==