C/C++ 構造体ポインタの実体のない領域への参照
typedef struct { int a; } sample_t; int main() { sample_t *p; p->a = 10; }
以上は間違い。
ポインタpはアドレスを覚えておくだけの変数なので、まだ値を代入する領域が用意されていない。
よって実行時エラーになる。
○対処法
p = (sample_t *)malloc(sizeof(sample_t));
として領域を確保し値を代入。
typedef struct { int a; } sample_t; int main() { sample_t *p; p->a = 10; }
以上は間違い。
ポインタpはアドレスを覚えておくだけの変数なので、まだ値を代入する領域が用意されていない。
よって実行時エラーになる。
○対処法
p = (sample_t *)malloc(sizeof(sample_t));
として領域を確保し値を代入。