배열을 초기화하는 여러가지 방법들을 알아보자.
(1차원 배열 기준으로 설명)
for문을 활용하여 모든 인덱스를 돌며 초기화 해주는 방법인데
배열의 크기가 클수록 귀찮다.
그리고 비효율적이라고 생각했는데 꼭 그렇지만은 않다고 한다.
위와 마찬가지로 배열의 크기가 클수록 귀찮다.
int arr[5] = {1,1,1,1,1};
int arr[5] = {};
int arr[5] = {0};
int arr[5] = {0,};
=> {0,0,0,0,0}
지정한 일부만 담기고, 나머지는 모두 0으로 채워짐
int arr[5] = {1,};
=> {1,0,0,0,0}
fill_n(변경 시작주소, 변경 원소 갯수, 변경 값)
int arr[5];
fill_n(arr,5,1);
=> {1,1,1,1,1}
fill(변경 시작주소, 변경 종료주소, 변경 값)
int arr[5];
fill(arr,arr+5,1);
=> {1,1,1,1,1}
종료주소가 종료 원소의 index 가 아니라 +1을 해줘야 하는거 주의!
int arr[5];
fill(arr,arr+4,1); // index (0 ~ 3) 변경
fill(arr,arr+5,1); // index (0 ~ 4) 변경