ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [C Language] 28. 배열 개요 - C 언어
    CSE/C Language 2015. 7. 16. 16:43

    1. 배열의 필요성

     배열이 얼마나 유용한 개념이고 프로그램상에서 얼마나 요긴하게 사용될 수 있는지 알아보자. 어느 학교의 선생님이 학급의 성적을 관리하고 싶을 때 다음과 같은 과정이 필요할 것이다. 학급 총원은 40명이다.


     - 학급의 학생 이름을 모두 나열한다.

     - 학생 이름 옆에 성적을 기입한다.

     - 학생별 총점, 평균을 구한다.

     - 국어, 영어, 수학의 학급 전체 총점과 평균을 구한다.

     - 학급 전체의 총점과 평균을 구한다.



     이를 위해서는 모두 40명에 대한 변수가 필요하며, 아래와 같이 작성해서 총점과 평균을 구할 수 있다.


    1
    2
    3
    4
      int a, b, c, d, e, f, ...
     
      total = a + b + c + d + e + ...
      ave = total / 40;
    cs



     일일이 모든 변수를 나열하기에는 불편하다는 생각이 들 것이다. 위의 프로그램을 배열을 사용하여 다음과 같이 수정할 수 있다.



    1
    2
    3
    4
    5
    6
    7
    8
    9
      int student[40];
     
     
      for ( i = 0; i < 40; i++) {
          total += student[i];
     
      }
     
      ave = total / 40;
    cs




     변수명은 student로 단 하나이다. 변수명 옆의 숫자(첨자)를 기입하여 개개의 학생들을 구별한다. 40명에 대한 변수를 배열 명과 첨자로 해결하고, 이를 이용하여 학생들의 점수를 할당한 후 총점이나 평균을 구하는 것이 위의 경우처럼 상당히 쉽다.






    2. 배열의 특징

     배열의 특징은 아래와 같다.

      - 배열은 연속된 메모리 공간을 가진다.

       배열을 정의하면 메모리 영역에 분산되어 저장되지 않고 연속적으로 저장된다. 만약 배열이 연속적으로 저장되지 않는다면 포인터 연산이 불가능해지기에 C의 큰 장점 중 하나가 쓸모 없게 될 것이다.



      = 배열요소의 자료형은 모두 같다.

       배열을 정의하면 모든 요소는 같은 형을 가진다. 배열첨자를 10으로 지정한 후 앞의 5개는 int 형으로 뒤의 5개는 char 형으로 지정할 수 없다는 말이다. 배열은 반드시 같은 자료형을 가진다.


    댓글

Designed by Tistory.