ETC
[C++] 배열 Syntax 주의할 점
Nanyoung Kim
2021. 1. 25. 12:40
728x90
선언
int arr[100];
0으로 초기화
1) 선언과 동시에
int arr[100] = {};
int arr[100] = {0};
int arr[100] = {0,};
단, 0이 아닌 다른 수로 초기화할때는 fill_n() 또는 for문을 이용하자.
2) memset()
memset() 는 빠르지만 0 또는 -1로 초기화 할 때만 쓸 수 있다. (1byte 단위로 초기화 하기 때문)
#include<string.h>
memset(arr, 0, sizeof(arr));
memset(arr, -1, sizeof(arr));
int arr[100] = {-1, };
주의) 만약 이렇게 하면 arr[0]만 -1 이고 arr[1] ~ arr[99] 는 0이 된다.
0 이외의 수로 초기화
#include <algorithm>
fill_n(arr, 100, -1); //arr[0] ~ arr[99] 를 -1로 초기화
fill_n(arr+1, 50, -1); //arr[1] ~ arr[51] 을 -1로 초기화
혹은 for문으로!
참고 : www.uwangg.com/36
728x90