質問編集履歴
6
編集
test
CHANGED
File without changes
|
test
CHANGED
@@ -36,6 +36,12 @@
|
|
36
36
|
|
37
37
|
|
38
38
|
|
39
|
+
編集
|
40
|
+
|
41
|
+
画像のプログラムにおいて質問があります。 "321"[2]では、3は[0]、2は[1]、1は[2] との事ですが、 では、char str[4] = "abc"では、aは[0] ではなく、aは[1]になると言われたのですが、"321"[2]では、3は[0]、2は[1]、1は[2] のやり方に沿うとaは[0]になると思い納得できません。 なぜaは[1]になるのでしょうか?
|
42
|
+
|
43
|
+
|
44
|
+
|
39
45
|
こちらが画像です。
|
40
46
|
|
41
47
|
![プログラムの画像](3f94f22033c998db6cef3b07d40c95c9.png)
|
5
編集
test
CHANGED
File without changes
|
test
CHANGED
@@ -33,3 +33,9 @@
|
|
33
33
|
最後の質問については char *str[] = {"abcde"};にすると解決するとの事ですが、なぜ{ }をつけると解決するのかわかりません。ポインタ変数strを扱う時は文字や文字列を{ }で囲まなければならないのでしょうか?
|
34
34
|
|
35
35
|
どうかよろしくお願いします。
|
36
|
+
|
37
|
+
|
38
|
+
|
39
|
+
こちらが画像です。
|
40
|
+
|
41
|
+
![プログラムの画像](3f94f22033c998db6cef3b07d40c95c9.png)
|
4
test
CHANGED
File without changes
|
test
CHANGED
@@ -30,6 +30,6 @@
|
|
30
30
|
|
31
31
|
どうかコンパイルエラーになる理由をわかりやすく教えて下さい。
|
32
32
|
|
33
|
-
|
33
|
+
最後の質問については char *str[] = {"abcde"};にすると解決するとの事ですが、なぜ{ }をつけると解決するのかわかりません。ポインタ変数strを扱う時は文字や文字列を{ }で囲まなければならないのでしょうか?
|
34
34
|
|
35
35
|
どうかよろしくお願いします。
|
3
test
CHANGED
File without changes
|
test
CHANGED
@@ -24,4 +24,12 @@
|
|
24
24
|
|
25
25
|
|
26
26
|
|
27
|
+
最後にchar str[] = "abcde";ではなく、 char *str[] = "abcde";とした場合、なぜコンパイルエラーを起こすのでしょうか?
|
28
|
+
|
29
|
+
文字列の先頭のaがchar型のポインタstr[0]の配列のメモリにaが入るのではないのでしょう?
|
30
|
+
|
31
|
+
どうかコンパイルエラーになる理由をわかりやすく教えて下さい。
|
32
|
+
|
33
|
+
|
34
|
+
|
27
35
|
どうかよろしくお願いします。
|
2
test
CHANGED
File without changes
|
test
CHANGED
@@ -12,7 +12,7 @@
|
|
12
12
|
|
13
13
|
また、char str = "abcde";も間違いなのはstrが配列ではなく、たまの単純変数を扱っていないためでしょうか?だとしたら、 "abcde";の先頭のaの文字のみを扱うため間違っているのでしょうか?
|
14
14
|
|
15
|
-
ちなみに、char str[1] = "abcde";とchar str = "abcde"に初期値のための{ }が付かないのは何故でしょうか?正直、**どんな時(ポインタや配列を使う時)に{ }を使うのかよくわかりません。**
|
15
|
+
ちなみに、char str[1] = "abcde";とchar str = "abcde"に初期値のための{ }が付かないのは何故でしょうか?正直、**どんな時(ポインタや配列を使う時?)に{ }を使うのかよくわかりません。**
|
16
16
|
|
17
17
|
|
18
18
|
|
1
test
CHANGED
File without changes
|
test
CHANGED
@@ -12,7 +12,7 @@
|
|
12
12
|
|
13
13
|
また、char str = "abcde";も間違いなのはstrが配列ではなく、たまの単純変数を扱っていないためでしょうか?だとしたら、 "abcde";の先頭のaの文字のみを扱うため間違っているのでしょうか?
|
14
14
|
|
15
|
-
ちなみに、char str[1] = "abcde";とchar str = "abcde"に初期値のための{ }が付かないのは何故でしょうか?正直、どんな時(ポインタや配列を使う時)に{ }を使うのかよくわかりません。
|
15
|
+
ちなみに、char str[1] = "abcde";とchar str = "abcde"に初期値のための{ }が付かないのは何故でしょうか?正直、**どんな時(ポインタや配列を使う時)に{ }を使うのかよくわかりません。**
|
16
16
|
|
17
17
|
|
18
18
|
|