C言語 配列を初期化する方法 NULL ポインタ型

通常のデータ型配列を初期化する方法については
コチラのページで解説しています。


ポインタ型変数を初期化するときは、
基本的にNULLで初期化します。

int* ip = NULL;
char* cp = NULL;

ポインタ型配列の場合も同じです。

int* ip[100];
char* cp[100];

for (int i = 0; i < 100; i++) {
    ip[i] = NULL;
}

for (int i = 0; i < 100; i++) {
    cp[i] = NULL;
}

上記はループ処理でNULLを設定した例です。

下記は、宣言と同時にNULLを設定した例です。
ip[0]からip[99] cp[0]からcp[99]までがNULLになります。

int* ip[100] = {NULL};
char* cp[100] = {NULL};

実際に動作しますが、
あまり推奨されない書き方だと思いますので、
基本的にはループ処理で
NULLを設定するようにして下さい。

タイトルとURLをコピーしました