[C言語]memset()でCharの配列を同じ値で初期化するには?

C言語

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

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

スポンサーリンク

方法

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

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

まず、要素数を指定した配列を宣言します。

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

memset()の第1引数に対象の配列、第2引数に値、第3引数にsizeof()を指定します。

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

//T=要素の型, myArray=配列名, length=要素数, value=値
T myArray[length];
memset(myArray, value, sizeof(myArray));

上記のmemset()は、Charの配列を同じ値で初期化します。

使用例

#include <stdio.h>

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

コメント

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