본문으로 바로가기

memset 함수를 이용하면 정수 배열의 값을 0이나 -1로 초기화할 수 있다. 하지만 1은 안된다. 1로 초기화하기 위해선 반드시 배열문을 사용하여 직접 초기화해야 한다.

memset 함수를 사용하기 위해서 아래와 같이 헤더 파일을 포함하고,

#include <cstring>

아래의 예제처럼 배열의 값을 초기화할 수 있다.

int arr[100];
  
memset(arr, 0, sizeof(arr));
for (int i=0; i<100; i++) {
  printf("%d ", arr[i]);// 0
}
  
memset(arr, -1, sizeof(arr));
for (int i=0; i<100; i++) {
  printf("%d ", arr[i]);// -1
}

위에도 말했다시피 아래처럼 코드를 작성해도 절대 배열의 값을 1로 초기화되지 않는다.

memset(arr, 1, sizeof(arr));
for (int i=0; i<100; i++) {
  printf("%d ", arr[i]);// not 1 !!!
}

댓글을 달아 주세요