teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

2

「し」が抜けたのを修正

2020/12/14 02:05

投稿

fana
fana

スコア12227

answer CHANGED
@@ -29,9 +29,9 @@
29
29
  }
30
30
  ```
31
31
 
32
- `int *`は,`int`型の場所を指し示すから,「その指し示す場所の値を変える」というのは,指示されている`int`型の値を変えることになる.
32
+ `int *`は,`int`型の場所を指し示すから,「その指し示す場所の値を変える」というのは,指示されている`int`型の値を変えることになる.
33
33
 
34
34
  ダブルポインタでも話は一緒.
35
- `int **`なら,`int*`型の場所を指し示すから,「その指し示す場所の値を変える」というのは,指示されている`int*`型の値を変えることになる.
35
+ `int **`なら,`int*`型の場所を指し示すから,「その指し示す場所の値を変える」というのは,指示されている`int*`型の値を変えることになる.
36
36
 
37
37
  質問のコードでは,ダブルポインタを渡した側では(それが指し示す)ポインタの値を変えている.

1

ポインタの話を追記

2020/12/14 02:05

投稿

fana
fana

スコア12227

answer CHANGED
@@ -12,4 +12,26 @@
12
12
  //ここでのaの値は5のまま
13
13
  ...
14
14
  }
15
- ```
15
+ ```
16
+
17
+ 引数にポインタを渡す例:
18
+
19
+ ```C
20
+ void F( int *p )
21
+ { *p=777; } //ポインタ値pが指し示す場所の値を変えた
22
+
23
+ int main()
24
+ {
25
+ int a = 5;
26
+ F( &a );
27
+ //ここでのaの値は777になった
28
+ ...
29
+ }
30
+ ```
31
+
32
+ `int *`は,`int`型の場所を指し示すから,「その指し示す場所の値を変える」というのは,指示されている`int`型の値を変えることになる.
33
+
34
+ ダブルポインタでも話は一緒.
35
+ `int **`なら,`int*`型の場所を指し示すから,「その指し示す場所の値を変える」というのは,指示されている`int*`型の値を変えることになる.
36
+
37
+ 質問のコードでは,ダブルポインタを渡した側では(それが指し示す)ポインタの値を変えている.