2차원 배열을 fill로 초기화.
for문으로도 가능하긴 하나, fill로도 가능하다.
단순, 0으로 초기화하고 싶을 때는 memset이 가장 편하다.
어떤 메모리의 시작점부터 연속된 범위를 어떤 값으로(바이트 단위) 모두 지정하고 싶을 때 사용하는 함수이다.
void * memset ( void * ptr, int value, size_t num );
ptr
: 채우고자 하는 메모리의 시작 포인터(시작 주소)
value
: 메모리에 채우고자하는 값. int형이지만 내부에서는 unsigned char(1 byte)로 변환되어서 저장된다.
num
: 채우고자 하는 바이트의 수. 즉, 채우고자 하는 메모리의 크기
#include <string.h> // string.h 파일이 필요합니다.
int main (){
char a[20];
// 1바이트마다 모두 65로 초기화
// 배열을 채울 때는 sizeof()함수를 사용하면 됩니다.
// sizeof 함수 - 배열의 전체 바이트 크기를 반환합니다.
memset(a, 65, sizeof(a));
// 출력을 통해 확인
for(int i = 0; i < (sizeof(a)/sizeof(char)); i++){
printf("%c\n", a[i]);
}
}