알고리즘/정리
초기화 memset, fill
히더
2018. 8. 6. 18:33
알고리즘 문제를 풀때 초기화가 필요한 경우가 많다.
이때 memset 또는 fill을 자주 사용한다.
memset은 <memory.h>를 선언하고 사용한다.
이때 1바이트를 단위로 초기화를 하므로 bool이나 char에 많이 쓴다.
int형일때는 1바이트를 넘으므로 0으로 초기화 할 때만 쓴다.
고차원 배열도 한줄이면 초기화 가능하다.
ex) arr배열이 있을 때, memset(배열이름,초기화 값,배열크기); memset(arr,0,sizeof(arr));
fill은 <algorithm>를 선언하고 사용한다.
memset과 다르게 데이터 형 관계없이 초기화 가능하다.
고차원 배열을 초기화 시에는 for문을 돌려야 한다.
ex) arr 배열이 있을 때
fill(시작위치, 끝나는 위치+1, 초기화 값);
1차원 : fill(arr,arr+N,0);
2차원 : for(int i=0; i<2;i++) fill(arr[i],arr[i]+N,0);
작성자 : 히더