[C言語]memset()でCharの配列を空文字で初期化するには?

C言語

どうも、ちょげ(@chogetarou)です。

memset()を使ってCharの配列(array)を空文字で初期化する方法を紹介します。

スポンサーリンク

方法

インターフェース, インターネット, プログラム, ブラウザ, Www

memset()を使ってCharの配列(array)を空文字で初期化するには、3つの引数を使います。

まず、[]内に要素数を指定した配列の変数を宣言します。

次に、memset()を呼び出します。

memset()の第1引数に宣言した配列、第2引数に空文字(「””」もしくは「’\0’」)、第3引数にsizeof()を指定します。

そして、sizeof()の引数に、宣言した配列を指定します。

//myArray=配列名, length=要素数
char myArray[length];
memset(myArray, '\0', sizeof(myArray));
//「""」で初期化する場合
char myArray[length];
memset(myArray, "", sizeof(myArray));

上記のmemset()は、配列を空文字で初期化します。

スポンサーリンク

使用例

#include <stdio.h>

int main(void){
    char myArray[5];
    memset(myArray, '\0', sizeof(myArray));
    
    int n = sizeof(myArray) / sizeof(myArray[0]);
    for (int i = 0; i < n; i++) {
        printf("[%c],", myArray[i]);
    }
    
    return 0;
}
出力:
[],[],[],[],[],

コメント

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