初級 › Segmentation fault(NULLポインタの参照) › パターン3
Segmentation fault(NULLポインタの参照)
NULL(何も指していないポインタ)の指す先を読み書きしようとしたときに発生するクラッシュです。
1 #include <stdio.h> 2 #include <stdlib.h> 3 4 int main(void) { 5 int *p = malloc(sizeof(int)); 6 p = _________; ^ 7 *p = 1; 8 printf("%d\n", *p); 9 return 0; 10 }
Segmentation fault
空欄を埋めてコンパイル・実行を通す
せっかくmallocで有効な領域を確保していても、途中でpにNULLを代入し直すと、その後の*pは無効な参照になります。
次の問題