배열은 같은 타입의 변수들로 이루어진 집합이다.
우리는 배열을 다음과 같이 두가지 요소로 표현 할수 있습니다.
배열의 초기화 그리고 각 인덱스에 접근해서 배열에 메모리위치에 변수를 사용 가능하다.
여기서 우리는 각 데이터의 시작 주소를 쉽게 계산할 수 있습니다.
값 | 시작 주소 | 인덱스 |
---|---|---|
1 | 1000+4∗0 | 0 |
2 | 1000+4∗1 | 1 |
3 | 1000+4∗2 | 2 |
4 | 1000+4∗3 | 3 |
5 | 1000+4∗4 | 4 |
이를 바탕으로 우리는 왜 인덱스가 1이 아닌 0부터 시작하는지에 대한 이유를 알 수 있습니다.
배열의 시작주소에서 item size에 인덱스를 곱한 값을 더하면 바로 각 item의 시작 주소를 계산할 수 있기 때문이죠.
// 기본적인 형태
#include <iostream>
int main()
{
int arr[5] = { 1,2,3,4,5 };
// 숫자형(int) 배열 arr(배열의 이름) 의 길이는 5([5])이고 값은 {1,2,3,4,5}
return 0;
}
#include <iostream>
int main()
{
int arr[5] = { 1,2,3,4,5 };
int index = 0;
// 배열의 첫 번째 인덱스는 0이다.
// 왜? 배열의 시작주소에서 item size에 인덱스를 곱한 값을 더하면
// 바로 각 item의 시작 주소를 계산할 수 있다.
std::cout << arr[0]; // 1;
index = 5;
std::cin >> index;
std::cout << arr[index]; // 지정되지 않은 값이다
return 0;
}
배열은 반복문과 같이 쓰일때 무궁무진한 활용성을 보여줄수 있다.
#include <iostream>
int main()
{
int arr[5] = { 1,2,3,4,5 };
for (int i = 0; i < 5; i++)
{
std::cout << arr[i]; // i값을 인덱스로 활용
}
return 0;
}
<aside> 💡 문제 1번
for문을 사용해서 숫자 5개를 입력 받으세요
다시 for문을 돌려 배열의 값을 출력하세요
ex)
3 5 2 6 7
3 5 2 6 7
</aside>