#include <iostream> //#pragma pack(1) struct S{ int32_t i32; int8_t i8; int32_t i32_2; int16_t i16; }; using namespace std; int main (){ S s; uint32_t addr=(uint32_t)&s; cout<<addr<<endl; uint32_t addr0=(uint32_t)&s.i32; uint32_t addr1=(uint32_t)&s.i8; uint32_t addr2=(uint32_t)&s.i32_2; uint32_t addr3=(uint32_t)&s.i16; cout<<addr<<" "<<(addr0-addr)<<" "<<(addr1-addr)<<" "<<(addr2-addr)<<" "<<(addr3-addr)<<endl; return 0; }