제 14장 1차원 배열 - 1
※ 문법을 100% 이해하려면, 실습을 거쳐야 완벽한 100% 이해완성
- 최소한의 연습문제등 문제를 풀어봄으로써 응용력을 키운다.
● 배열이란 무엇인가?
- 두개 이상의 변수를 동시에 선언하는 효과를 지닌다
- 많은 양의 데이타를 일괄적으로 처리할 수 있다.
> 예를 들자면
for(i=0; i<10; i++)
Array[i] = 1; // 모든 데이타형을 1로 초기화 한다.
// 변수 10개를 일일이 만들필요없이 배열로 선언해서
// 편리하게 일괄적으로 처리가 가능한다.
- 지역적 특성, 전역적 특성 둘다 가짐
● 배열 선언에 있어서 필요한 3가지
- 배열길이 : 배열을 구성하는 변수의 개수(반드시 상수사용)
- 배열 요소 자료형 : 배열을 구성하는 변수의 자료형
- 배열의 이름 : 배열을 접근할 때 사용되는 이름
▼ 정 의
int Array[10];
// int형 데이타형 10개를 저장할수 있는 Array라는 이름의 배열
- int : 배열 요소 자료형
- [10] : 배열길이
- Array : 배열이름
==> 4byte(int형) 메모리 10개를 가지는 즉, 40바이트가 할당된다.
==> 이 메모리공간의 이름은 Array 라고 한다.
char A[5];
// char형 테이타형을 5개 저장할수 있는 A라는 이름의 배열
// 총 메모리 크기 char형[1byte] X 5개 = 5byte
tip > 마찬가지로 배열도 함수가 호출되었을때 함수내에 정의되어 있으면
변수와 마찬가지로 메모리공간이 생기고, 함수가 종료되면 메모리가 소멸된다.
● 1차원 배열의 접근
- 인덱스 : 배열요소의 위치를 표현
- 인덱스는 무조건 0부터 시작한다.

총 10개의 데이타를 저장할수 있는 메모리공간
저 하나하나의 데이타를 참조할때는, 하나하나 접근해야한다.
@ index[인덱스] : 기준을 대상으로 얼마나 멀리 떨어져있냐[거리]
- 기준은 0이다.
▼ 접근하는 방법 :
- Array[5] : Array배열에 있는 5번째 위치에 해당하는 요소에 접근
- index 값이 첫번째는 0이다.
ex) int Array[10] : 마지막요소의 인데스값은 9이다.
ex) int Array[5] : 마지막요소의 3번째 인데스값은 2이다.
- Array[3] = 10 ; // Array배열의 3번째 인덱스에 10을 저장한다.
int main()
{
int Array[10];
Array[0] = 1;
Array[1] = 2;
Array[2] = 3;
......
return 0;
}
예제) ========================================================
#include <stdio.h>
int main(void)
{
double sum;
double Array[5]; // double형 데이타타입의 5개의
// 요소를 가진 메모리공간 할당
// 총 8byte X 5개 = 40byte(초기화 안되있음 ; 쓰레기값 포함되있음)
Array[0] = 1.01; // 각 요소마다 double형 값을 저장한다.
Array[1] = 2.34;
Array[2] = 3.34;
Array[3] = 10.3;
Array[4] = 4.5;
// 모든값을 요소마다 더해서 sum값에 대입한다.
sum = Array[0] + Array[1] + Array[2] + Array[3] + Array[4];
printf("Array 전체 요소의 평균값 : %lf \n", sum/5);
return 0;
}
=============================================================
● 선언과 동시에 초기화
int array[5] = {1, 2, 3, 4, 5};
// int형 데이타 5개 저장할수 있는 array란 이름의 배열 선언을 하고
// 각각의 인덱스에 맞게 순서적으로, 1, 2, 3, 4, 5를 대입한다.
int array1[] = {1, 2, 3, 4, 5}
// int형 데이타를 저장할수 있는 정보를 이런경우는
// 초기화 리스트의 갯수가 있으니까 1, 2, 3, 4, 5의 갯수가 5개 이므로
// 컴파일러가 알아서 숫자를 인식한다 그러믄로 배열요소는 5개
int array2[5] = {1, 2}; // 초기화 리스트 2개가 있다.
// array[0] = 1;
// array[1] = 2;
// array[2] = 0;
// array[3] = 0;
// array[4] = 0;
// 이렇게 자동으로 0으로 초기화 시켜준다.
@ 조심할점 : int array[] ; // 에러발생
'프로그래밍 > C' 카테고리의 다른 글
제 16장 포인터의 이해 - 1 (0) | 2010.07.10 |
---|---|
제 15장 1차원 배열 - 2 (0) | 2010.07.10 |
제 13장 C언어의 핵심 함수 - 3 (0) | 2010.07.10 |
제 12장 C언어의 핵심 함수 - 2 (0) | 2010.07.10 |
제 11장 C언어의 핵심 함수 - 1 (0) | 2010.07.10 |