본문 바로가기

IT/C언어

[C언어] 1차원 배열 (1)


1차원 배열 (1)






안녕하세요 지토우에요.

자료구조 공부하기 전에,

먼저 배열에 대해 더 알아보면 좋을 것 같아서

씨언어 메뉴도 만들고 새로 글도 썼습니다 ㅎㅎ

오늘도 행복한 하루 되세요 ^^


1. 1차원 배열이란


배열의 간단한 특징들은 다음과 같습니다.



* 같은 자료형을 가진 연속된 메모리 공간으로 이루어진 자료구조

* 같은 자료형을 가진 변수들이 여러 개 필요할 때 사용

* 많은 양의 데이터를 처리할 때 유용



이렇게 활자로만 보면 사실 감이 잘 안오실겁니다.

예시를 들어볼게요.




name이라는 이름을 가진 변수를 선언해야 한다고 합시다.

배열을 모른다는 가정하에, 우리는 다음과 같이 선언하게 됩니다.



name1, name2, ... , name10 이런 식으로 하나하나 변수를 언제 다 선언하는 것은 번거로운 일이지요.

특히 그 수가 많을수록 그렇습니다.

그렇다면 어떻게 해야할까요?

답은, 배열입니다!



배열을 사용하니 코드의 길이가 짧아졌고 가독성이 향상 되었지요.









2. 배열의 선언


배열의 선언이란 변수의 선언이라고도 말할 수 있습니다.




자료형배열의 자료형을 지정합니다. int, char, double 과 같은 것들이지요.

배열 이름변수 이름과 마찬가지로 배열을 구분하는 이름입니다.

위 그림의 array는 제가 임의로 지정한 것이고 여러분들이 원하는 이름을 지정하시면 됩니다.

배열 길이배열 요소의 총 길이를 의미하는데요.

위 그림에서는 [10]이라고 되어있지요?

총 10개의 변수를 배열로 구성했다는 뜻입니다.

이것도 마찬가지로 사용자가 원하는 길이를 넣어주시면 됩니다.



int name[10]; 을 했을 때는 어떻게 될까요?

name이 10개 필요하다고 했으니 name이 10개가 되겠지요.

그리고 순서대로 대괄호 안에 0부터 적어줍니다.

여기서 주의할 점은 마지막 대괄호의 숫자는 " 내가필요하다고 한 숫자 - 1" 입니다.

1이 아닌 0부터 시작했으니까요!


옅은 회색 공간의 이름은 각각 name[~]이 됩니다.


첫번째 상자의 화살표부터 주소는 &a[0] 입니다.


또한, 배열들은 모두 연속되어 있다는 점을 알아두세요!