배열
#include <iostream>
using namespace std;
int main(void)
{
int a[10] = { 0,1,2,3,4,5,6,7,8,9 };
int b[2][3] = { {1, 2, 3}, {4, 5, 6} };
a[0] = 10;
*(a + 9) = 15;
cout << a[0]; // 결과 10
cout << a[9]; // 결과 15
return 0;
}
'배열'은 같은 자료형이 순차적으로 나열되는 '기본 자료구조'입니다. 메모리에서 나열되어 있기 때문에 읽고 쓰기가 빠른게 장점입니다. 그러므로 한 번에 많은 데이터를 저장하고 관리할 때 매우 유용한 형태입니다. 배열의 각 데이터에 접근 할 때는 '배열의 이름[숫자]'로 접근하여 값을 저장하거나 받아올 수 있습니다. 여기서 숫자는 'Index'라고 불리며 Index의 범위는 '0부터 내가 선언한 배열의 길이의 -1'만큼입니다. 예시 코드 기준으로 배열의 길이를 10으로 선언했으므로 Index의 범위는 0부터 9입니다.
그리고 배열은 다차원의 배열로 선언이 가능합니다. 예시 코드에서 'int b[2][3]'은 2차원 배열로 선언한 것인데, int 자료형의 3개짜리 배열( {1, 2, 3}, {4, 5, 6} )을 2개 가지는 배열입니다. 여기서 더 나아가 3차원, 4차원, 그 이상까지 늘릴 수 있습니다. 하지만 너무 과한 배열은 가독성도 떨어지고 비효율적이며 컴파일러가 잘 인식하지 못할 수도 있습니다.
- 여기는 포인터를 알고 있다는 가정하에 배열에 대한 설명입니다. -
배열의 이름은 해당 배열의 자료형 포인터입니다. 배열의 Index가 0부터 시작하는 것도 포인터와 관련되어 있습니다. 포인터는 애스터리스크 ( * )로 해당 메모리 주소로 접근이 가능한데, 배열의 처음 값으로 접근 하는 법이 *( a + 0 )이기 때문입니다. 0, 즉 Index가 증가하면 다음 메모리 주소로 이동하면서 값을 받아오는 방식입니다.
'C & C++' 카테고리의 다른 글
C/C++ 기초 - 함수 ( Function ) (0) | 2021.10.17 |
---|---|
C/C++ 기초 - 포인터 ( Pointer ) (0) | 2021.10.14 |
C/C++ 기초 - 문 (Statement) (0) | 2021.10.10 |
C/C++ 기초 - 연산자 ( Operator ) (0) | 2021.10.10 |
C/C++ 기초 - 입출력 함수 ( Input Ouput function ) (0) | 2021.10.08 |