Page 91 - Do it! 자료구조와 함께 배우는 알고리즘(C 언어, 3쇄)
P. 91

와 포인터 p는 아래처럼 간단하게 선언하고 정의할 수 있습니다.



                         XYZ a;         /* XYZ형(즉, struct xyz형)의 a */
                         XYZ *p = &a;   /* a를 가리키는 XYZ *형(즉, struct xyz *형)의 포인터 p */







                        구조체의 배열
                        실습 2-13은 데이터를 제각각 흩어진 배열에 모으지 않고 구조체 배열로 구현한 프로그램입
                        니다.



                          실습 2-13                                                •완성 파일 chap02/physical.c
                         01  /* 신체검사 데이터용 구조체 배열 */
                         02  #include <stdio.h>
                         03  #define VMAX 21      /* 시력의 최댓값 2.1 × 10 */
                         04
                         05  /*--- 신체검사 데이터형 ---*/
                         06  typedef struct {
                         07     char  name[20];   /* 이름 */
                         08     int   height;     /* 키 */
                         09     double vision;    /* 시력 */
                         10  } PhysCheck;
                         11
                         12  /*--- 키의 평균값을 구합니다. ---*/
                         13  double ave_height(const PhysCheck dat[], int n)
                         14  {
                         15     int i;
                         16     double sum = 0;
                         17     for(i = 0; i < n; i++)
                         18     sum += dat[i].height;
                         19     return sum / n;
                         20  }
                         21
                         22  /*--- 시력 분포를 구합니다. ---*/
                         23  void dist_vision(const PhysCheck dat[], int n, int dist[])
                         24  {
                         25     int i;
                         26     for(i = 0; i < VMAX; i++)





                                                                                      02• 기본 자료구조  91
   86   87   88   89   90   91   92   93   94   95   96