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

回答編集履歴

2

行の入れ替え

2017/01/15 16:14

投稿

HidekoSaeki
HidekoSaeki

スコア42

answer CHANGED
@@ -2,8 +2,8 @@
2
2
  ですから、型に関係なくサイズは一定です。(たとえば32ビットとか)
3
3
  ポインタの型というのは、格納されたアドレスに確保されている変数の型なのです。
4
4
  ポインタに、宣言やmalloc関数などで確保されていない領域のアドレスが格納されていると、そのポインタを参照したときに暴走したりします。
5
+ ポインタに、ポインタのアドレスを代入することも出来ます。
5
6
  ポインタに構造体のアドレスを代入することも出来ます。
6
- ポインタに、ポインタのアドレスを代入することも出来ます。
7
7
  その際、すでにご指摘されているように、*p.x ではなく、p->x もしくは (*p).x と記述します。
8
8
  もちろん、p には確保された構造体のアドレスが入っていなければなりません。
9
9
  コンパイルエラーは出ないけど、実行時にバグります。

1

文章の追加

2017/01/15 16:14

投稿

HidekoSaeki
HidekoSaeki

スコア42

answer CHANGED
@@ -3,6 +3,9 @@
3
3
  ポインタの型というのは、格納されたアドレスに確保されている変数の型なのです。
4
4
  ポインタに、宣言やmalloc関数などで確保されていない領域のアドレスが格納されていると、そのポインタを参照したときに暴走したりします。
5
5
  ポインタに構造体のアドレスを代入することも出来ます。
6
+ ポインタに、ポインタのアドレスを代入することも出来ます。
6
7
  その際、すでにご指摘されているように、*p.x ではなく、p->x もしくは (*p).x と記述します。
7
8
  もちろん、p には確保された構造体のアドレスが入っていなければなりません。
8
- コンパイルエラーは出ないけど、実行時にバグります。
9
+ コンパイルエラーは出ないけど、実行時にバグります。
10
+ ポインタ配列は、ポインタ変数が主記憶上に連続して確保されている領域です。
11
+ アドレス集みたいなものですね。