본문 바로가기

카테고리 없음

[c언어 강좌]배열

이번 강좌에서는 배열에 대해서 알아보겠습니다.  저는 c언어를 공부할 때에 학교선배에게 많은 질문을 하며 공부를 했습니다.  배열은 무엇인지, 포인터는 무엇인지 전부 모르는 부분이 생기면 선배님들한테 물어봤습니다. 그러던 어느날 선배님이 질문받는게 귀찮았는지, 저에게 이런말을 해줍니다. "그게 왜 만들어졌는지부터 생각하고 질문하거라"


그렇습니다. 배열또한 이유가 있기에 만들어진것이겠지요. 우리는 배열이 만들어진 이유, 배열이 필요한 이유에 대해서 공부를 해야합니다. 가정된 상황을 통해서 배열의 필요성을 느껴봅시다.


상황가정) 정수를 10회 입력받는 프로그램을 제작하려한다. 입력된 모든 값은 변수에 저장해야한다.


"scanf함수를 사용해서 값을 입력받으면 되겠네. 10회 입력받아야하니깐 10개의 저장공간이 필요하겠네.. 그럼 변수 10개를 선언하자"


int a,b,c,d,e,f,g,h,i,j,k ;


"좋아 10개를 선언했어. 근데 좀 더럽다.."


오그라들지만 한번 상황을 연출해 보았습니다. 위의 상황에서 scanf로 입력된 값을 저장하기위해 변수를 10개 선언합니다.

나중에 변수를 이용해서 무언가를 할때, 변수 10개의 이름을 전부 외우고 있어야 하는 안타까운 상황이 생길 수도 있습니다. 이럴때 어떻게하면 좋을까요? 바로 배열을 이용하는 것입니다. 만약 10개의 변수를 담는 무언가가 있다면, 그곳에다가 넣어두면 되겠죠?

 그 변수를 담는 무언가가 바로 배열입니다 !

배열은 어떻게 선언할까요? 위의 변수 10개를 배열로 생성하게 된다면 아래와 같습니다.


int arr[10];


"int형 변수를 10개 담을수있는 int형 배열 arr"이라고 읽습니다. 내부구조는 이렇게 생겼습니다.