배열 

- 같은 종류의 데이터들이 순차적으로 메모리에 저장되는 자료구조

- 항상 배열 요소의 번호가 0 부터 시작

 

배열 선언

int scores [10];

scores : 배열의 이름

[10] : 배열 크기

 

예제

- 학생들의 성적을 입력받아서 평균을 구하는 프로그램

#include <iostream>
using namespace std;

int main() {
	const int STUDENTS = 10;
	int scores[STUDENTS];
	int sum = 0;
	int average;

	for (int i = 0; i < STUDENTS; i++)	{
		cout << "학생들의 성적을 입력하시오: ";
		cin >> scores[i];
        sum += scores[i];
	}
	average = sum / STUDENTS;
	cout << "성적 평균= " << average << endl;
	return 0;
}

- 배열의 크기를 const지시자로 만들어진 기호 상수로 지정하면 배열의 크기를 변경하기가 쉬워짐

 

배열의 초기화 

- int sales[5] = { 100, 200, 300, 400, 500 };

- int sales[5] = { 100, 200, 300 };

- int sales[] = { 100, 200, 300, 400, 500, 600, 700 };

- 보편적으로 모든 초기화에 중괄호 사용

 

범위 기반 for루프

- 배열 안에 들어 있는 모든 값에 대하여 반복할 때 사용

for (변수 : 범위) {

         문장

}

예제

#include <iostream>
#include <string>
using namespace std;

int main()
{
	int list[] = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };
	for (int i : list) {
		cout << i << " ";
	}
	cout << endl;
}

참조자 버전

#include <iostream>
#include <string>
using namespace std;

int main()
{
	int list[] = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };
	for (int& i : list) {
		i = i*i;
	}
	for (int i : list) {
		cout << i << " ";
	}
}

- 배열 요소의 변경이 필요하다면 반드시 참조자를 사용 

for(int& i : list) {

        i = i*i

}

 

2차원 배열

- 배열 요소들이 2차원으로 나열된 배열

- 2차원 배열 선언 int s[3][5];

- 2차원 배열 최기화

int s[3][5] = {

  { 1,  2,  3,  4,  5 },  // 첫 번째 행의 요소들의 초기값

  { 2,  4,  6,  8,  10 },  // 두 번째 행의 요소들의 초기값

  { 3,  6,  9, 12,  15 }  // 세 번째 행의 요소들의 초기값

};

 

 

<어서와 C++는 처음이지!> 천인국 인피니티북스

'C++' 카테고리의 다른 글

클래스 객체  (0) 2020.10.16
함수  (0) 2020.10.12
for문, break문, continue문  (0) 2020.10.09
while문 do - while문  (0) 2020.10.09
if문 , switch문  (0) 2020.10.09

+ Recent posts