【C言語】null判定する方法をわかりやすく詳しく解説

この記事では、C言語におけるnull判定の方法とその応用について解説します。

null判定はプログラムの安全性を高めるために重要な要素ですので、ぜひ参考にしてください。

目次から探す

null判定のやり方

null判定とは、変数やポインタがnull値(何も指していない状態)かどうかを確認することです。

null判定は、プログラムの安全性や正確性を確保するために非常に重要な要素です。

C言語では、null判定を行うためのいくつかの方法があります。

以下では、代表的な方法を紹介します。

1. ポインタのnull判定

ポインタがnull値を指しているかどうかを判定するには、単純にポインタ変数を比較演算子(==)を使ってnullと比較します。

以下は、ポインタがnullかどうかを判定する例です。


int* ptr = NULL;
if (ptr == NULL) {
    printf("ポインタはnullです。\n");
} else {
    printf("ポインタはnullではありません。\n");
}

上記の例では、ptrというint型のポインタ変数をNULLで初期化し、ptrがnullかどうかを判定しています。

もしptrがnullであれば、「ポインタはnullです。」と出力されます。

2. 変数のnull判定

変数がnull値を持っているかどうかを判定するには、ポインタの場合と同様に比較演算子(==)を使ってnullと比較します。

以下は、変数がnullかどうかを判定する例です。


int num = 0;
if (num == NULL) {
    printf("変数はnullです。\n");
} else {
    printf("変数はnullではありません。\n");
}

上記の例では、numというint型の変数を0で初期化し、numがnullかどうかを判定しています。

C言語では、変数にnull値を直接代入することはできないため、変数がnullであることはありません。

したがって、「変数はnullではありません。」と出力されます。

3. 文字列のnull判定

文字列をnull判定する場合は、文字列の先頭アドレスがnullポインタかどうかを判定します。

以下は、文字列がnullかどうかを判定する例です。


char* str = NULL;
if (str == NULL) {
    printf("文字列はnullです。\n");
} else {
    printf("文字列はnullではありません。\n");
}

上記の例では、strというchar型のポインタ変数をNULLで初期化し、strがnullかどうかを判定しています。

もしstrがnullであれば、「文字列はnullです。」と出力されます。

null判定は、プログラムの安全性を高めるために必要な手法です。

適切なタイミングでnull判定を行い、プログラムの実行時エラーを防ぐようにしましょう。

目次から探す