티스토리 뷰

알고리즘/정리

초기화 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);






작성자 : 히더

'알고리즘 > 정리' 카테고리의 다른 글

string을 int로 변환  (0) 2018.08.13
string scanf  (0) 2018.08.13
입출력 cin과 scanf 속도  (0) 2018.08.10
배열 최대 크기  (0) 2018.08.06
오름차순, 내림차순 정렬  (0) 2018.08.06
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/11   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
글 보관함