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