현승일 교수
9주차 1강. 배열의 개념 및 선언
학습내용
학습목표 1. 배열의 개념
2. 배열의 선언 및 접근
3. 배열의 선언과 메모리 할당
1. 배열의 개념에 대해 설명할 수 있다.
2. 배열의 선언 및 접근방법에 대해 설명할 수 있다.
3. 배열의 선언과 메모리 할당에 대해 설명할 수 있다.
◉
배열(array)의 개념 및 필요성
1. 배열의 개념
• 하나의 이름으로 참조되는 같은 자료형을 갖는 메모리의 연속적인 공간
• 하나의 프로그램에서 너무 많은 변수 사용 시 일일이 기억하여 사용하는데 한계를 느끼게 됨 (예) 동일한 변수의 연속적인 선언
int a1, a2, a3, a4, …, a100;
int a[100]; // 배열
◉
배열(array)의 선언
2. 배열의 선언 및 접근(1)
• 배열의 선언(구성) 요소 - 배열의 자료형(타입)
예) int, char, float, double 등 - 배열 이름
예) array 등 - 배열의 길이
• 배열의 선언 형식(1차원 배열)
배열의 자료형 배열 이름 [배열의 크기];
예) int a[10]; // “ int a0, a1, a2, a3, a4, … , a9; ” 과 동일 예) char c[5]; // “ char c0, c1, c2, c3, c4; ” 와 동일
◉
배열(array)의 접근
2. 배열의 선언 및 접근(2)
• 배열에서의 주의사항
- 배열의 길이 선언 시 반드시 상수를 사용해야 함 int size = 10;
Int a[size]; // 배열의 길이에 변수를 삽입할 수 없음 // 반드시 상수(숫자)만 작성해야 함
◉
배열(array)의 접근
2. 배열의 선언 및 접근(3)
• 배열에서의 주의사항
- 배열의 원소에 값을 지정하기 위해서 인덱스를 사용함 - 배열의 인덱스 값은 반드시 ‘0’부터 시작!!!
int a[3]; // 크기가 3인 배열을 선언
a[0] = 1; // 첫 번째 배열 원소에 1을 지정, 인덱스 값은 0 a[1] = 2; // 두 번째 배열 원소에 2를 지정, 인덱스 값은 1 a[2] = 3; // 세 번째 배열 원소에 3을 지정, 인덱스 값은 2
◉
배열(array)의 접근 예제
2. 배열의 선언 및 접근(4)
◉
배열(array)의 선언과 초기화
3. 배열의 선언과 메모리 할당(1)
• 기본 자료형의 경우 선언과 동시에 초기화가 가능 예) int a = 2;, char c = ‘A’;
• 배열도 마찬가지로 선언과 동시에 초기화가 가능 예) int a[5] = {1, 2, 3, 4, 5};
// 크기가 5인 배열을 선언하고 각각의 배열 원소를 초기화 // a[0] = 1, a[1] = 2, a[2] = 3, a[3] = 4, a[4] = 5;
int a[ ] = {1, 3, 5, 7, 9};
// 크기가 정해지지 않은 배열의 선언과 초기화 int a[5] = {1, 6};
/* 크기가 정해져 있지만, 모든 원소들이 초기화 되어 있지 않은 경우 */
◉
배열(array)의 선언과 초기화 예제
3. 배열의 선언과 메모리 할당(2)
◉
배열(array)의 선언과 메모리 할당
3. 배열의 선언과 메모리 할당(3)
/** 메모리 할당 예제 **/
………
int array[5] = {1, 3, 5, 6, 9};
………
1000 1004 1008 1012
array[0] array[1] array[2] array[3]
데이터(값) 메모리 주소
1 3 5 6
1016
array[4]
9
정리하기(1)
1. 배열의 개념
- 하나의 이름으로 참조되는 같은 자료형을 갖는 메모리의 연속적인 공간
2. 배열의 선언 및 접근
- 배열의 선언 형식 (1차원 배열)
배열의 자료형 배열 이름 [배열의 크기];
예) int a[10]; // “ int a0, a1, a2, a3, a4, … , a9; ” 와 동일 - 배열의 크기(길이) 선언 시 반드시 상수를 사용해야 함
- 배열의 원소에 값을 지정하기 위해서 인덱스를 사용함 - 배열의 인덱스 값은 반드시 ‘0’부터 시작!!!
정리하기(2)
3. 배열의 선언과 메모리 할당
/** 메모리 할당 예제 **/
………
int array[5] = {1, 3, 5, 6, 9};
………
1000 1004 1008 1012
array[0] array[1] array[2] array[3]
데이터(값) 메모리 주소
1 3 5 6
1016
array[4]
9
다음시간에는…
에 대해 학습해 보겠습니다.
참고문헌