質問編集履歴
4
編集
test
CHANGED
File without changes
|
test
CHANGED
@@ -35,3 +35,31 @@
|
|
35
35
|
if (i == 3){ printf("%d\n", str[3]);};と書けばいいのでしょうか?
|
36
36
|
|
37
37
|
仮に*p は str[i]よりよりprintf("%d\n", str[3]);の部分のstr[3]のように書くにはどう書けばいいのでしょうか?if (i == 3){ printf("%d\n", *p ==3);};でしょうか?
|
38
|
+
|
39
|
+
|
40
|
+
|
41
|
+
編集2
|
42
|
+
|
43
|
+
エピスさんの解答より。
|
44
|
+
|
45
|
+
>>仮に&str[i]のアドレスを上げながらメモリに入った数値をそれぞれの値を+1したい場合は
|
46
|
+
|
47
|
+
どう書けばよいのでしょうか?
|
48
|
+
|
49
|
+
|
50
|
+
|
51
|
+
++str[i++] または str[i++]++
|
52
|
+
|
53
|
+
for ( ... ;str[i]++, i++) の方が明快か。
|
54
|
+
|
55
|
+
|
56
|
+
|
57
|
+
に関して、アドレスの数値を上げるならば&は書かなくていいのでしょうか?要は
|
58
|
+
|
59
|
+
++&str[i++] または &str[i++]++と書かなくて良いのでしょうか?
|
60
|
+
|
61
|
+
まあ、アドレスとアドレスの指すメモリに入る数値を同時にあげる書き方が
|
62
|
+
|
63
|
+
++str[i++] または str[i++]++という決まりなら従うしかないですが。
|
64
|
+
|
65
|
+
&を付けてアドレスとアドレスの指すメモリに入る数値を同時にあげる書き方はないのでしょうか?
|
3
編集
test
CHANGED
File without changes
|
test
CHANGED
@@ -17,3 +17,21 @@
|
|
17
17
|
for文で(*(&str))++と(*(&str A))++の二つを作ればよいのでしょうか?
|
18
18
|
|
19
19
|
出来ればプログラムを書いて頂けると理解しやすいです。
|
20
|
+
|
21
|
+
|
22
|
+
|
23
|
+
**編集**
|
24
|
+
|
25
|
+
エピスさんの解答に対する返事と補足に関して。
|
26
|
+
|
27
|
+
ってことは、iの数値を上げながら、iの入っているメモリのアドレスを上げるには
|
28
|
+
|
29
|
+
for (i=0;str[i]++, i++)と書けばいいのですね。
|
30
|
+
|
31
|
+
では、補足になってしまい申し訳ないですが、
|
32
|
+
|
33
|
+
例えば、*p は str[i]より、ループ三周目のアドレスの指す数値を知りたいときは
|
34
|
+
|
35
|
+
if (i == 3){ printf("%d\n", str[3]);};と書けばいいのでしょうか?
|
36
|
+
|
37
|
+
仮に*p は str[i]よりよりprintf("%d\n", str[3]);の部分のstr[3]のように書くにはどう書けばいいのでしょうか?if (i == 3){ printf("%d\n", *p ==3);};でしょうか?
|
2
編集
test
CHANGED
@@ -1 +1 @@
|
|
1
|
-
値
|
1
|
+
ポインタの表すメモリの数値とメモリに入っている数値を同時にあげるには。
|
test
CHANGED
@@ -5,3 +5,15 @@
|
|
5
5
|
仮に&str[i]自体のアドレスを+1して上げながらメモリに入った数値をそれぞれの&str[i]のアドレスのメモリに入った値を+1したい場合は
|
6
6
|
|
7
7
|
どう書けばよいのでしょうか?
|
8
|
+
|
9
|
+
|
10
|
+
|
11
|
+
あるいは、str[i]はポインタのアドレスが指すメモリに入る数値を表しますが、あるアドレス(例えばアドレス1)のメモリの数値しか上がりません。
|
12
|
+
|
13
|
+
では、ほかのポインタのアドレス(例えばアドレス2)のメモリの数値を上げたい場合は
|
14
|
+
|
15
|
+
新しくstrA[i]と作り、
|
16
|
+
|
17
|
+
for文で(*(&str))++と(*(&str A))++の二つを作ればよいのでしょうか?
|
18
|
+
|
19
|
+
出来ればプログラムを書いて頂けると理解しやすいです。
|
1
編集
test
CHANGED
File without changes
|
test
CHANGED
@@ -2,6 +2,6 @@
|
|
2
2
|
|
3
3
|
|
4
4
|
|
5
|
-
仮に&str[i]のアドレスを上げながらメモリに入った数値をそれぞれの値を+1したい場合は
|
5
|
+
仮に&str[i]自体のアドレスを+1して上げながらメモリに入った数値をそれぞれの&str[i]のアドレスのメモリに入った値を+1したい場合は
|
6
6
|
|
7
7
|
どう書けばよいのでしょうか?
|