본문 바로가기
C++

[ c++ ] 배열 초기화

by yebeen 2023. 2. 21.

배열을 초기화하는 방법 여러 가지가 존재한다.

흔히 알고 있는 방법으로는

 

배열을 선언할 때 초기화하거나

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