Quote Originally Posted by tabstop View Post
I think you may be mistaken on what a struct is. A struct is not a thing. A struct is what a thing would look like, if it were to exist. You have to create an object to actually have something. So:
Code:
struct hey_a_struct {
    int numbers[10];
}

/* at this point I have nothing at all */
int main(void) {
struct hey_a_struct object; /*now I have something */
for (int i = 0; i < 10; i++) {
    object.numbers[i] = i*i;
}
Completely wrong. The first definition of the struct does indeed reserve the memory for it. It is usable.
struct hey_a_struct object; will define a second struct with the same shape.