배열(array)은 데이터 형이 같은 여러 개의 값을 연속적으로 저장할 수 있는 데이터 구조이다.
int array[5] = {10, 20, 30, 40, 50};
이렇게 초기화를 한다면 이것을 int 형의 배열이라고 한다.
(만약 초기화를 하지 않고 선언, 즉 int array[5]; 를 한다면 배열 원소들은 그 메모리 위치에 전부터 우연히 남아있던 쓰레기 들을 값으로 취한다. 그래서 선언보단 모든 변수는 초기화를 해주는 것이 좋다.)
index | 0 | 1 | 2 | 3 | 4 |
value | 20 | 20 | 30 | 40 | 50 |
배열은 개별적인 접근을 허용하기 위해 index를 사용하여 배열 원소에 차례로 번호를 부여한다.
이것이 배열의 유용한 점이다.
C++ 배열 index는 항상 0부터 시작한다는 것을 꼭 명심해야 한다.
문자열은 메모리에 바이트 단위 연속적으로 저장되어 있는 문자들을 말한다.
string은 추후에 살펴보도록 하고 우선 C 스타일 문자열을 살펴본다.
문자열은 독특한 특징을 가지고 있는데 마지막에 꼭 \0 (null character)를 넣어줘야 한다는 것이다.
char tiger[5] = {'h', 'a', 'p', 'p', 'y'};
char tiger[5] = {'m', 'o', 'm', 'o', '\0'};
두 배열 모두 char형 배열이지만 두 번째만이 문자열이다.
\0 를 만날 때까지 문자 단위로 문자열을 처리한다.
따라서 문자열을 저장하는 데 필요한 char형 배열의 최소 크기를 정할 때
null character 하나가 추가된다는 것을 고려해야 한다.
'C++' 카테고리의 다른 글
C++ / 6. struct 구조체 (0) | 2024.01.02 |
---|---|
C++ / 5. string 클래스 (0) | 2023.12.18 |
C++ / 3. const (0) | 2023.12.14 |
C++ / 2. #include 와 iostream 파일 (0) | 2023.12.14 |
C++ / 1. main() (메인 함수) 의미 (0) | 2023.12.14 |