배열 데이터를 전염성 있는 메모리 위치에 저장하는 데이터 구조입니다.
배열 선언
Declaring arrays is done by the following syntax : int 1D[] - for 1-D array int 2D[][] - for 2-D array
더 적은 수의 요소로 배열을 초기화하면 나머지는 0으로 초기화됩니다.
배열 요소의 메모리 주소
1-D array : address[i] = baseAddress + i*size 2-D array (row major) : address[i][j] = baseAddress + (i*n + j) * size
이제 연습 문제를 살펴보겠습니다.
다음 코드 스니펫의 출력 예측
int arr[5] = {6, 9}; for(int i = 0; i<5; i++) cout<<arr[i]<<" ";
출력
6 9 0 0 0
배열은 2개의 값으로 초기화되고 나머지 값은 0으로 초기화되어 출력에 반영됩니다.
int arr[][3] = {1, 2, 3, 4, 5, 6, 7, 8, 9}; cout<<arr[1][2];
출력
6
정수 배열의 주어진 요소의 주소를 찾습니다. 기본 주소가 1420인 경우.
1D array : arr[43] address = 1420 + 43*2 = 1506 2D array of size arr[10][10] : arr[5][4], stored as row major address = 1420 + (5*10 + 4)*2 = 1420 + (54)*2 = 1528.