원래 포인터의 사용에 대하여 정리하려 했으나
이를 알기 위해선 배열과 함수의 개념이 필요 할것 같아 이 둘을 먼저 정리하겠다.
● 배열 이란?
코드를 짜다 보면 연속된 숫자들을 활용 해야하는 경우가 많다.
예를 들어 학생 10명의 성적을 입력하여 출력하는 코드를 짜야 한다고 해보자
이때 각 학생의 성적을 저장하는 변수를 일일이 만든다면 아래처럼 귀찮은 일이 발생할 것이다.

이를 연속된 저장 공간에 간편하게 할당을 해주는 방법이 배열이다.
배열의 선언은 "배열의자료형 배열이름 [배열의크기]" 로 나타낸다.
위의 예를 배열의 사용하여 만들어주면 다음과 같다.

이 코드는 student라는 이름을 가진 배열을 만들어 준 것이고
이 배열은 int형 자료를 10개 저장할 수 있다.
그리고 각각의 저장 공간을 표현할 때는 첫 번째 저장 공간은 student[0], 두 번째 저장 공간은 student[1]
이런 식으로 나타낸다.
배열 또한 그림으로 표현하면 조금 더 쉽게 이해가 가능하다.

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


이처럼 배열은 반복문과 밀접하게 연결되어 사용된다.
● 배열의 주소
배열 또한 값을 저장하는 공간들이므로 각각 주솟값을 가진다.
가장 기본적으론 앞 글에서 설명했듯이 변수 이름에 &를 붙이면 주소가 된다.
즉 student[0] 의 주소는 &student[0], student[1]의 주소는 &student[1]이다.
여기서 중요한 개념 하나가 추가되는데 배열의 시작 주소는 배열의 이름과 같다는 것이다.
즉 student 배열의 시작 주소인 &student[0] 과 student는 같은 표현이고
&student[1]은 student+1로 나타낼 수 있다.

'c언어' 카테고리의 다른 글
| [c언어 개념] 함수 (0) | 2022.07.07 |
|---|---|
| [C언어 문제] baekjoon문제 풀이 07/05 (0) | 2022.07.06 |
| [C언어 문제] baekjoon문제 풀이 07/04 (0) | 2022.07.04 |
| [c언어 개념] 포인터 기본 개념 (0) | 2022.07.04 |
| [C언어 문제] baekjoon문제 풀이 07/01 (0) | 2022.07.01 |