回答編集履歴

1

追記

2019/11/21 06:40

投稿

fana
fana

スコア11658

test CHANGED
@@ -11,3 +11,29 @@
11
11
  memcpy(offset, element, group->element_size);
12
12
 
13
13
  は,elementが指す位置からgroup->element_sizeバイト分の内容を,前期位置にコピーしている.
14
+
15
+
16
+
17
+ ---
18
+
19
+
20
+
21
+ 絵で描けばわかりやすいんだろうけど……
22
+
23
+
24
+
25
+ 最初に割り当てた40バイトのメモリを
26
+
27
+ [0][1][3][4][5][6][7][8][9][10][11][12]...[39]
28
+
29
+ と書けば,
30
+
31
+ ポインタgroup.dataは,[0]の位置を指している.
32
+
33
+
34
+
35
+ element_sizeが4なので,
36
+
37
+ 例えば,_group_offset()にindexとして2を渡したとしたなら,
38
+
39
+ 戻り値は,2*4 だけ進んだ位置,すなわち[9]の位置を指すポインタ.