구조체 배열

개념

  • Structure Array
  • 구조체를 요소로 가지는 배열
  • 배열의 각 요소는 동일한 구조체 타입을 가지게 된다.
  • “여러 명의 사람”, “여러 개의 원” 처럼 동일한 속성을 가진 데이터 묶음에 사용된다.

문법

1
struct 구조체명 배열이름[크기];

예시

1
2
3
4
5
6
7
8
9
typedef struct {
  char name[20];
  int age;
  float height;
} Person;

Person persons[10] = { {"김철수", 25, 175.5f},
                        {"김민수", 30, 169.9f},
                        {"베르나르 상수", 50, 187.3f} };

구조체 배열의 멤버 참조

1
2
3
4
printf("%s\n", persons[0].name);
printf("%d\n", persons[1].age);
printf("%s\n", persons[2].name);
printf("%f\n", persons[2].height);
1
2
3
4
김철수
30
베르나르 상수
187.300003

마지막 키에서 .000003 차이가 나는 것은 부동소수점을 이진수로 표현할 때 발생하는 정밀도 오차

Reference

C 프로그래밍 (김형근, 곽덕훈, 정재화 공저)
C 프로그래밍 강의 (방송통신대 - 이병래)

Comments