본문 바로가기
c언어

[c언어 개념] 배열

by chu_dw 2022. 7. 5.

원래 포인터의 사용에 대하여 정리하려 했으나

이를 알기 위해선 배열과 함수의 개념이 필요 할것 같아 이 둘을 먼저 정리하겠다.

 


 배열 이란?

 

코드를 짜다 보면 연속된 숫자들을 활용 해야하는 경우가 많다.

예를 들어 학생 10명의 성적을 입력하여 출력하는 코드를 짜야 한다고 해보자

이때 각 학생의 성적을 저장하는 변수를 일일이 만든다면 아래처럼 귀찮은 일이 발생할 것이다.

이를 연속된 저장 공간에 간편하게 할당을 해주는 방법이 배열이다.

배열의 선언은 "배열의자료형 배열이름 [배열의크기]" 로 나타낸다.

위의 예를 배열의 사용하여 만들어주면 다음과 같다.

이 코드는 student라는 이름을 가진 배열을 만들어 준 것이고

이 배열은 int형 자료를 10개 저장할 수 있다.

그리고 각각의 저장 공간을 표현할 때는 첫 번째 저장 공간은 student[0], 두 번째 저장 공간은 student[1]

이런 식으로 나타낸다.

배열 또한 그림으로 표현하면 조금 더 쉽게 이해가 가능하다.

 


 배열의 이용

 

간단하게 배열에 값을 넣고 출력하는 코드를 알아보면 아래와 같다.

이처럼 배열은 반복문과 밀접하게 연결되어 사용된다.


배열의 주소

 

배열 또한 값을 저장하는 공간들이므로 각각 주솟값을 가진다.

가장 기본적으론 앞 글에서 설명했듯이 변수 이름에 &를 붙이면 주소가 된다.

즉 student[0] 의 주소는 &student[0], student[1]의 주소는 &student[1]이다.

 

여기서 중요한 개념 하나가 추가되는데 배열의 시작 주소는 배열의 이름과 같다는 것이다.

즉 student 배열의 시작 주소인 &student[0] 과 student는 같은 표현이고

&student[1]은 student+1로 나타낼 수 있다.