1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 | #include <stdio.h>
#include <stdlib.h>
// This line tells the compiler not to add any extra bytes in the way this object
// is stored in memory.
#pragma pack(1)
typedef struct {
int x;
char ch;
int y;
} Point; // <<<<<< REMEMBER YOUR SEMICOLON AT END OF STRUCT DEFINITION
int main(int argc, char* argv[]) {
Point p = {.x = 5, .ch = 'X', .y = 6};
// Initially, #pragma pack(1) --> sizeof(p) == 12
// After adding #pragma pack(1) --> sizeof(p) == 9
// Address of a struct object
Point* a_p = &p;
return EXIT_SUCCESS;
}
/* vim: set tabstop=4 shiftwidth=4 fileencoding=utf-8 noexpandtab: */
|
© Copyright 2017 Alexander J. Quinn This content is protected and may not be shared, uploaded, or distributed.