Вот шестнадцатеричный дамп, настолько общий, насколько вы можете его получить:
struct Foo x;
unsigned int i;
const unsigned char * const px = (unsigned char*)&x;
for (i = 0; i < sizeof(x); ++i) printf("%02X ", px[i]);
Обратите внимание, что результат этого полностью определяется реализацией;по-видимому, будет много отступов, и вы не будете знать, что означает любое из напечатанных значений.(Большинство из них, вероятно, будут просто указателями на какую-то другую часть пространства.)
Как говорит Этьен, C является языком статической типизации и не имеет рефлексии, поэтому вы должны знать объявление Foo
для интерпретации содержания x
.