Doby's Lab

[C++] memset 함수, for 문으로 초기화 시키기 귀찮을 때 (0, -1만 가능!) 본문

C++

[C++] memset 함수, for 문으로 초기화 시키기 귀찮을 때 (0, -1만 가능!)

도비(Doby) 2021. 11. 12. 11:12

어떠한 배열이 있을 때 이전까지는 for문을 사용했다.

check라는 배열의 모든 원소들을 -1로 초기화시키고 싶다고 하면 (check 배열의 크기는 1000)

for (int i = 0; i < 1000; i++) {
	check[i] = -1;
}

크게 귀찮음은 못 느꼈지만 한 번 memset 함수를 쓰고 나니 약간의 손 노동이었구나를 느낀다.

 

위 코드를 memset 함수를 사용하면

memset(check, -1, sizeof(check));

즉, memset(초기화시키려는 배열, value, 그 배열의 사이즈);와 같은 형태로 사용하면 된다.

<cstring>에 선언되어있음.

 

[중요!]

메모리 관련 문제 때문에 -1 or 0이 아니면 memset을 쓰면 안 된다. for를 돌리거나 fill이라는 함수를 써야 함. 자세한 이유는 차후에 다룰 예정!

728x90