回答編集履歴
1
typo
test
CHANGED
@@ -6,9 +6,7 @@
|
|
6
6
|
|
7
7
|
従ってp[0]は「char型へのポインタ」を指してます。
|
8
8
|
|
9
|
-
これはC言語の仕様により「char型へのポインタの配列」とも解釈されます。
|
10
|
-
|
11
|
-
ということは、pが指
|
9
|
+
ということは、pが指せるメモリ領域の構造は下記です。
|
12
10
|
|
13
11
|
|
14
12
|
|
@@ -24,17 +22,21 @@
|
|
24
22
|
|
25
23
|
char* p2;
|
26
24
|
|
25
|
+
:
|
26
|
+
|
27
27
|
};
|
28
28
|
|
29
29
|
```
|
30
30
|
|
31
|
-
sizeof(p_array_image)は32ビット・ビルドなら12でしょう。
|
31
|
+
要素数が3の時、sizeof(p_array_image)は32ビット・ビルドなら12でしょう。
|
32
32
|
|
33
33
|
|
34
34
|
|
35
35
|
逆に`char buf[3][100]`は下記のような構造です。
|
36
36
|
|
37
37
|
|
38
|
+
|
39
|
+
```C
|
38
40
|
|
39
41
|
struct buff_image
|
40
42
|
|
@@ -47,6 +49,8 @@
|
|
47
49
|
char buff2[100];
|
48
50
|
|
49
51
|
};
|
52
|
+
|
53
|
+
```
|
50
54
|
|
51
55
|
sizeof(buff_image)は300ですね。
|
52
56
|
|