친절코딩

50. 배열과 인덱스 본문

C언어 배우기/C언어 배우기(1~50)

50. 배열과 인덱스

웹도날드 2018.12.03 21:28


지금은 간단한 코드만을 다루지만 만약 프로그램에서 많은 변수를 선언해야 한다면 이름을 결정하는 것 또한 힘든 일이 될 것입니다.


1
2
3
4
5
6
7
8
int Number1;
int Number2;
int Number3;
int Number4;
int Number5;
      .
      .
      .
cs


C언어에서는 동일한 자료형의 변수를 여러개 선언할 수 있는 배열(Array) 기능을 제공하고 있습니다. 배열의 사용 방법은 다음과 같습니다.


1
자료형 배열이름[개수];
cs


예를 들어 int형 변수 50개를 만들고 싶다면 다음과 같이 배열을 선언하면 됩니다.


1
int Number[50];
cs


선언된 배열은 메모리에 일렬로 담깁니다. 위 상황에서는 200바이트의 일렬로 된 공간에 4바이트짜리 변수 50개가 할당됩니다. 이렇게 할당된 변수를 배열의 요소(element)라고 부릅니다. 사용자는 이 변수를 각각 사용할 수 있습니다.


배열의 개별 요소에 접근할 때는 인덱스(index)라는 숫자를 사용합니다. 인덱스는 0부터 시작하며 항상 배열의 크기 - 1까지만 존재합니다. 그러므로 위 배열의 인덱스는 0부터 49까지입니다. 위 배열의 첫 번째 요소에 접근하고 싶으면 Number[0]을, 23번째 요소에 접근하고 싶으면 Number[22]를 적어주면 됩니다. 다만 C언어의 특성상 인덱스의 한계를 벗어나는 요소에도 접근이 가능하기 때문에 주의를 기울일 필요가 있습니다.


1
2
3
4
Number[0<-- 첫 번째 요소입니다.
Number[22<-- 23번째 요소입니다.
Number[49<-- 마지막 요소입니다.
Number[57<-- 잘못된 접근입니다.
cs


배열은 반복문과 함께 사용하기 좋습니다. 다음은 배열을 활용하여 입력받은 값을 다시 출력하는 예제입니다.


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
#include <stdio.h>
 
int main()
{
    // 크기가 5인 배열을 선언합니다.
    int Price[5];
 
    // 배열의 요소에 순차적으로 접근하며 값을 입력받습니다.
    for (int i = 0; i < 5++i)
    {
        printf("%d번째 값을 입력하세요: ", i + 1);
        scanf_s("%d"&Price[i]);
    }
 
    printf("========================\n");
 
    printf("배열의 1번째 요소의 값: %d", Price[0]);
    printf("배열의 4번째 요소의 값: %d", Price[3]);
 
    return 0;
}
 
 
출력 결과////////////////////////////////
 
1번째 값을 입력하세요: 14
2번째 값을 입력하세요: 23
3번째 값을 입력하세요: 52
4번째 값을 입력하세요: 81
5번째 값을 입력하세요: 66
========================
배열의 1번째 요소의 값: 14
배열의 4번째 요소의 값: 81
cs


9~13번째 줄에서 반복문을 통해 Price[0] ~ Price[4]까지 변수에 접근하며 값을 저장합니다. 그리고 17~18번째 줄에서 1번째 요소와 4번째 요소의 값을 출력하고 있습니다.


'51. 배열의 초기화'로 이어집니다.

'C언어 배우기 > C언어 배우기(1~50)' 카테고리의 다른 글

50. 배열과 인덱스  (0) 2018.12.03
49. break와 continue  (0) 2018.12.03
48. 다중 for문  (0) 2018.11.28
47. for문  (0) 2018.11.27
46. do~while문  (0) 2018.11.23
45. while문  (0) 2018.11.22
0 Comments
댓글쓰기 폼