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

回答編集履歴

2

コメントの疑問に回答を追加

2021/07/13 02:16

投稿

rubato6809
rubato6809

スコア1382

answer CHANGED
@@ -14,6 +14,11 @@
14
14
  `` int * np = &n; `` と変数を定義する時の「*」も型修飾子です。「np はポインタだよ」という意味で、決して間接参照するのではありません。
15
15
  `` int * np = &n; `` は `` int * np; np = &n; `` と分解できます。ここで初期値(&n)が代入される場所は変数 np であり、`` *np = &n; `` ではありません。
16
16
 
17
+ > 同じ*でも違う意味なのは難しい
18
+
19
+ 型名(int, char 等)で始まる文は変数定義です。その「*」はポインタ修飾子です。
20
+ 型名で始まらないなら通常の実行文。その「*」は間接参照です。
21
+
17
22
  > `` printf("%p", &pn); ``
18
23
  > 変数pnのアドレス表示..?
19
24
 

1

表の中、アドレスの値にtypoあった

2021/07/13 02:15

投稿

rubato6809
rubato6809

スコア1382

answer CHANGED
@@ -56,7 +56,7 @@
56
56
 
57
57
  |アドレス|データ|変数名|
58
58
  |:--|:--:|--:|
59
- |0x62cc44|0x62xx48|ppn|
59
+ |0x62cc44|0x62cc48|ppn|
60
60
  |0x62cc48|0x62cc4c|pn|
61
61
  |0x62cc4c|30|n|
62
62