본문 바로가기

C Programming

배열

배열



  • 배열의 정의

배열은 동일한 타입을 가지는 변수들의 유한 집합.


배열의 선언

type 배열명[크기][크기]...;


  • 배열의 특징

배열은 기본형과는 달리 여러 개의 변수를 하나의 이름으로 모아 놓은 것. 그래서 기본형 변수들과는 다른 면이 많음.


특징

1. 배열 요소의 번호인 첨자는 항상 0부터 시작함.

2. 배열이 차지하는 총 메모리양은 배열의 크기에 배열 요소의 크기를 곱해서 구함.

3. 배열을 선언할 때 크기값은 반드시 상수로 주어야 함.

4. C언어는 배열의 범위를 전혀 점검하지 않음.


  • 다차원 배열

2차원배열은 첨자 두 개를 사용하는 배열임. 선언할 때 배열명 다음에 두 개의 크기를 나란히 적어 주면 됨. 


2차원 배열의 선언

ex) type 배열명[3][6];


  • 배열명

배열을 구성하는 각각의 요소는 배열 타입의 변수와 완전히 동등함. 

배열명이 단독으로 사용되면 배열의 시작번지값을 가지는 포인터 상수임.



배열초기화



  • 쓰레기값

배열은 여러 변수의 집합이라는 점이 조금 특수할 뿐이지 정수형 변수나 실수형 변수와 자격은 동일한 변수임.


  • 1차 배열 초기화

배열을 선언할 때 초기값을 주는 방법도 일반 변수와 마찬가지.

type 배열명[크기] = {초기화 값들};


  • 초기식

배열을 선언과 동시에 초기화할 때는 초기값의 개수가 배열 크기와 일치하는 것이 가장 이상적임.

ex) int ar[5] = {4, 8, 3, 69,-7};


  • 2차 배열 초기화

2차원 이상의 다차원 배열을 초기화하는 방법도 1차원 배열과 비슷하지만 차원이 높아지므로 좀 더 다양한 초기화 방법이 존재함.


1. 초기값 계수가 꼭 맞는 경우

ex) int ar[2][2] = {1, 2, 3, 4};

2. 초기값이 모자랄 때

ex) int ar[2][3] = {{1}, {2, 3}};

3. 초기값 개수가 남는 경우

=> 에러발생

4. 배열의 크기를 생략하는 방법

ex) int ar[][3] = {{1}, {2, 3}}; // 1차 첨자의 크기만 생략 가능



배열의 활용



  • 불규칙한 정보

배열의 기본적인 용도는 동일한 타입의 집합적인 정보를 다루는 것인데 아주 간단한 구조이지만 활용 용도는 헤아릴 수 없을 정도로 많음. 

  • 재사용할 정보

-

  • 작업 결과 저장

-

  • 룩업 테이블

-

  • 미리 계산된 값

-