回答編集履歴
1
元の質問に対する回答を追加
answer
CHANGED
@@ -10,12 +10,17 @@
|
|
10
10
|
}
|
11
11
|
```
|
12
12
|
**質問**
|
13
|
-
s を char変数と区別して配列変数とするために [] を付け
|
13
|
+
s を char変数と区別して配列変数とするために [] を付けて s[4] とするのは理解できます。
|
14
14
|
一方、printf の行で、[] を付けない s と、[] を付けた s[1] を使用しています。
|
15
15
|
この場合、両方とも [] 付けた s[1]、あるいは両方とも付けない方がスッキリするのですが、
|
16
16
|
片方は付け、片方は付けない、のは、どう解釈すれば良いでしょうか。
|
17
17
|
|
18
18
|
**回答**
|
19
19
|
使用目的が異なります。
|
20
|
-
[] を付けない s は "abc" 全体の値を使用
|
20
|
+
・[] を付けない s は "abc" 全体の値を使用するため。
|
21
|
-
[] を付けた s[2] は "abc" の中の 'b' の値を使用
|
21
|
+
・[] を付けた s[2] は "abc" の中の 'b' の値を使用するため。
|
22
|
+
|
23
|
+
**元の質問に対する回答**
|
24
|
+
使用目的が異なります。
|
25
|
+
・* を付けない p = &a は、p 自身に a のアドレスを設定します。
|
26
|
+
・* を付けた *p = 5 は、pの指しているものである a に 5 を設定します。
|