どうも、ちょげ(@chogetarou)です。
memset()を使ってCharの配列(array)を空文字で初期化する方法を紹介します。
方法

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;
}
出力:
[],[],[],[],[],
コメント