배열을 초기화하는 방법 여러 가지가 존재한다.
흔히 알고 있는 방법으로는
배열을 선언할 때 초기화하거나
int number[5] = { 1, 2, 3, 4, 5};
for문을 이용해 각 index마다 값을 넣어주는 방법이 있다.
int number[5];
for(int i=0;i<5;i++)number[i]=i;
그러나 문제를 풀다보면 배열의 모든 요소를 동일한 값으로 초기화해야 하는 때가 생긴다.
모든 요소를 0으로 초기화한다면 아래의 방법을 사용하면 된다.
이러면 index 0부터 4까지 모두 0의 값을 갖는다.
int number[5]={0,};
그러나 0을 제외한 값을 위의 방식으로 초기화를 시켜본다면
index 0의 값만 변화하고 나머지는 0의 값으로 초기화가 된다.
int array[5]={4,};
그렇다면 for문을 작성해서 동일한 값을 넣어야 할까?
물론 가능하지만 fill_n 함수를 사용하면 짧은 코드로 초기화가 가능하다.
fill_n( 배열 이름, 배열의 자리수, 값 )
fill_n()를 사용하면 array의 모든요소 값을 4로 채울 수 있다.
int array[5];
fill_n(array,5,4);
이 코드의 경우 배열의 자리수에 3이 들어갔기에 0부터 2까지만 ( 0부터 3개의 요소 )
3이 들어가고 나머지는 쓰레기 값이 들어가 있다.
int array[5];
fill_n(array,3,4);
'C++' 카테고리의 다른 글
[ c++ ] 문자열 뒤집기, reverse() (1) | 2023.02.21 |
---|