アルゴリズムとデータ構造 補足資料 7-1
「メモリでの『構造体の配列』」
横浜国立大学 理工学部 数物・電子情報系学科 富井尚志
0x 40ea 0801 0000 0111
0x 40ea 0802 0000 0000
0x 40ea 0803 0000 0000
0x 40ea 0804 0000 0110
0x 40ea 0805 0000 0000
0x 40ea 0806 0101 1001
0x 40ea 0807 0100 1110
0x 40ea 0808 0101 0101
0x 40ea 0809 0000 0000
0x 40ea 080a 0100 0001
0x 40ea 080b 1101 0000
0x 40ea 080c 0100 1100
0x 40ea 080d 0110 1111
0x 40ea 080e 1010 0111
0x 40ea 080f 0101 0000
0x 40ea 0810 1101 0000
0x 40ea 0811 0100 0001
0x 40ea 0812 0100 1011
0x 40ea 0813 1101 0100
0x 40ea 0814 0100 0001
char name[7];
} ; main() {
struct item x;
x.key = 1536;
x.name[0]=‘Y’;
x.name[1]=‘N’;
x.name[2]=‘U’;
x.name[3]=‘\0’;
… }
x x.key
x.name
x.name[0]
x.name[1]
x.name[2]
x.name[3]
x.name[4]
x.name[5]
x.name[7]
struct item{
int key;
char name[7];
} ; main() {
struct item x;
x.key = 1536;
x.name[0]=‘Y’;
x.name[1]=‘N’;
x.name[2]=‘U’;
x.name[3]=‘\0’;
… }
x x.key
x.name
x.name[0]
x.name[1]
x.name[2]
x.name[3]
x.name[4]
x.name[5]
x.name[7]
Y N U
\0
} ; main() {
struct item x;
x.key = 1536;
x.name[0]=‘Y’;
x.name[1]=‘N’;
x.name[2]=‘U’;
x.name[3]=‘\0’;
x x.key
x.name
x.name[0]
x.name[1]
x.name[2]
x.name[3]
x.name[4]
x.name[5]
x.name[7]
1536
struct item{
int key;
char name[7];
} ; main() {
struct item x;
x.key = 1536;
x.name[0]=‘Y’;
x.name[1]=‘N’;
x.name[2]=‘U’;
x.name[3]=‘\0’;
… }
x x.key
x.name
1536
YNU
0x 40ea 0801 0000 0111
0x 40ea 0802 0000 0000
0x 40ea 0803 0000 0000
0x 40ea 0804 0000 0110
0x 40ea 0805 0000 0000
0x 40ea 0806 0101 1001
0x 40ea 0807 0100 1110
0x 40ea 0808 0101 0101
0x 40ea 0809 0000 0000
0x 40ea 080a 0100 0001
0x 40ea 080b 1101 0000
0x 40ea 080c 0100 1100
0x 40ea 080d 0000 0000
0x 40ea 080e 0000 0000
0x 40ea 080f 0000 0001
0x 40ea 0810 0000 0000
0x 40ea 0811 0100 1101
0x 40ea 0812 0100 1001
0x 40ea 0813 0101 0100
0x 40ea 0814 0000 0000
0x 40ea 0815 0101 0000
char name[7];
} ; main() {
struct item a[5];
a[0].key = 1536;
a[0].name[0]=‘Y’;
a[0].name[1]=‘N’;
a[0].name[2]=‘U’;
a[0].name[3]=‘\0’;
a[1].key = 256;
a[1].name[0]=‘M’;
a[1].name[1]=‘I’;
a[1].name[2]=‘T’;
a[1].name[3]=‘\0’;
… a[0] a[0].key
a[0].name
a[0].name[0]
a[0]. name[1]
a[0]. name[2]
a[0]. name[3]
a[0]. name[4]
a[0]. name[5]
a[0]. name[7]
a[1] a[1].key
a[1].name
a[1].name[0]
a[1]. name[1]
a[1]. name[2]
a[1]. name[3]