How are struct members allocated in memory?

Viewed 31346

While attempting to create a memory manager for future C programs, I've come across this question:

"when structs are allocated, are their member fields stored in the order specified?"

For instance, consider the following struct.

typedef struct {
    int field1;
    int field2;
    char field3;
} SomeType;

When allocated, will the memory addresses of the fields be in the order field1, field2, field3? Or is this not guaranteed?

3 Answers
Related