메모리 관점에서의 구조체 데이터

code

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
26
27
28
#include <stdio.h>

int main(void)
{
struct stt
{
short b;
int x;
short s;
long z;
char c[5];
long long a;
char q;
}stt;

stt.b = 32767;
stt.x = 4294967295;
stt.s = 32500;
stt.z = 4294967200;
stt.c[0] = 'a';
stt.c[1] = 'b';
stt.c[2] = 'c';
stt.c[3] = 'd';
stt.c[4] = 'e';
stt.a = 888888888888888888;
stt.q = 'a';
return 0;
}

Analysis

1
2
3
4
5
0xffffcde0: 0xbb 0x00 0x86 0x47 0xf9 0xd9 0x01 0x00
0xffffcde8: 0x6d 0x3b 0xff 0xff 0xbe 0xba 0xef 0xbe
0xffffcdf0: 0x68 0x6c 0x70 0x6d 0x65 0x00 0x00 0x00
0xffffcdf8: 0x1e 0xab 0xdf 0x1e 0xff 0xe1 0xaf 0xde
0xffffce00: 0x21 0x00 0x00 0x00 0xf4 0x7f 0x86 0x47

short : 0x4786 - 18310, 0x8647 - 34375, 0xd9f9 - 55801

int : 0xbeefbabe - 3203381950, 0xffff3b6d - 4294916973

short : 0x6d70 - 28016, 0x706d - 28781, 0x0065 = 101

long :

0x 1eabdf1effe1afde - 2210105366390354000


1
2
3
4
5
0xffffcde0: 0xbb 0x00 0x86 0x47 0xf9 0xd9 0x01 0x00
0xffffcde8: 0x6d 0x3b 0xff 0xff 0xbe 0xba 0xef 0xbe
0xffffcdf0: 0x68 0x6c 0x70 0x6d 0x65 0x00 0x00 0x00
0xffffcdf8: 0x1e 0xab 0xdf 0x1e 0xff 0xe1 0xaf 0xde
0xffffce00: 0x21 0x00 0x00 0x00 0xf4 0x7f 0x86 0x47

little endian

short : 0x0001 - 1, 0xd9f9 - 55801

int : 0x478600bb - 1199964347

short : 0xbeef - 48879, 0xbabe - 47806

long : 0xffff3b6d - 4294916973

char[5] : emplh

long long : deafe1ff1edfab1e - 16046292483195250000

char : 0x47 - G, 0x21 - !

big endian

short : 0xbb00 - 47872

int : 0xf9d90100 - 4191748352

short : 6d3b - 27963

long : 3199922110

char[5] : 0x68 - h, 0x6c - l, 0x70 - p, 0x6d - m, 0x65 - e

longlong : 0x1eabdf1effe1afde - 2210105366390354000

char : 0x21 - !, 0x47 - G


1
2
3
4
5
0xffffcde0: 0xbb 0x00 0x86 0x47 0xf9 0xd9 0x01 0x00
0xffffcde8: 0x6d 0x3b 0xff 0xff 0xbe 0xba 0xef 0xbe
0xffffcdf0: 0x68 0x6c 0x70 0x6d 0x65 0x00 0x00 0x00
0xffffcdf8: 0x1e 0xab 0xdf 0x1e 0xff 0xe1 0xaf 0xde
0xffffce00: 0x21 0x00 0x00 0x00 0xf4 0x7f 0x86 0x47

short : 0x8647 - 34375

int : 0xf9d90100 - 4191748352

short : 0xffff - 65535

long : 0xbebaefbe - 3199922110

char[] : 0x68 - h, 0x6c - l, 0x70 - p, 0x6d - m, 0x65 - e = hlpme

long long : 0x1eabdf1effe1afde - 2210105366390354000

char : 0x21 - ‘!’