C언어 배열 [문법]

IT 정보 2014. 12. 18. 18:06

 

배열(Array)은 C언어에서 흔히 사용되는 자료 구조이면서 가장 쉽게

 

사용되고 굉장히 실용 적이다.

구조가 단순하기 때문에 속도가 빠르고 이해가 쉬워서 사용하기

편하다.

 

배열의 정의부터 보면 동일한 타입의 자료 집합이라고 보면 된다.

동일한 타입이란 정수형이면 정수형, 문자형이면 문자형, 실수형이면

 

실수형, 이렇게 같은 타입이 모여서 여러개의 집합을 만들면 이게

 

배열이다.


 

 

타입이란?

배열이 갖는 값의 요소가 무엇인지 지정한다.
즉 배열이 어떤 값을 가지는지 어떤 집합인가를 지정한다.
int형, char형, double형, long형 등등 기본 타입은 물론이고 구조체나

여러가지 타입도 가능하다.

 

 

배열명이란 ?

배열도 변수이므로 이름을 가져야 되고 이 이름은 규칙에 합당하게

작성을 해야 한다.

 

 

크기란?
배열이 갖는 요소의 개수가 몇개인가를 []괄호 안에 정수로 지정해야

한다.
크기 지정이 하나만 있으면 1차원, 2개 이상이면 다차원 배열이라고 표현한다.

C언어에서 배열은 중요하고 자주 사용하기 때문에 확실히 알아두자.

 

 

 


배열 선언 예

 

int array[10];
// int형 변수 10개의 배열

char array[5];
// char형 변수 5개의 배열

long array[5];
// long형 변수 5개의 배열

 

 


C언어에서 배열은 메모리 할당을 순차적으로 할당한다.


배열의 각 요소는 배열이라는 집합의 일부분 이라는 것 말고는 타입의 변수와 동일한 성격을 가진다.

 

 

 


int a;
int b[3];

 


로 선언을 하게 되면


a == b[0] 는 동등한 성격을 갖는다.

 

정수의 값을 쓸수도 있고 읽을 수도 있다.

 

 

 

 


C언어에서 사용하는 배열의 예를 들어 보자.

 

 

이 부분은 수학의 배열과 동일한데.

 

int array[10];


으로 선언하게 되면
박스가 10개 생긴다고 이해하면 된다.

 

 

 

빈 박스 10개가 생기고


array[0] = 1;
array[1] = 2;
array[2] = 3;
array[3] = 4;
array[4] = 5;
array[5] = 6;
array[6] = 7;
array[7] = 8;
array[8] = 9;
array[9] = 10;

이렇게 선언을 하면

 

 

 

 

위의 그림과 같이 박스안에 숫자가 채워진다.

 

 

 


수학을 잘하면 프로그램도 잘 짠다는 말은 사실인것 같다..

 

2차원 배열의 예를 들면


int array[2][10];

 

 

 

 


위의 그림처럼 박스가 2개

 

 

 


array[0] = 1;
array[1] = 2;
array[2] = 3;
array[3] = 4;
array[4] = 5;
array[5] = 6;
array[6] = 7;
array[7] = 8;
array[8] = 9;
array[9] = 10;
array[10] = 11;
array[11] = 12;
array[12] = 13;
array[13] = 14;
array[14] = 15;
array[15] = 16;
array[16] = 17;
array[17] = 18;
array[18] = 19;
array[19] = 20;

 

 

위의 그림처럼 표현이 된다.

 

실제로 C언어 에서는 위의 그림이랑 좀 다르긴 하지만 일단은 이렇게 이해만 하도록 하자.

 

 

 

이거 외에도 구조체에도 적용이 가능하고 다양한 곳에 사용이 가능하므로 C언어의 배열은 확실히 배워두고 넘어 가는게 좋다.

 


이처럼 수학과 C언어는 밀접한 관계에 있으므로 프로그래머에 대한 생각이 있으면 수학을 포기하지 말고 열심히 공부하시길....

 

Posted by 서땡글
,