✅ 목표 (Goal)

구조체 배열 연습

✅ 책 구조체로 연습해보자.

책이 100권이라면 book1, book2, book3.. 와 같이 만들어 되지만,

book_t book1;
book_t book2;
book_t book3;
...
book_t book100;
int integer1;
int integer2;
int integer3;
...
int integer100;
type_t t1;
type_t t2;
type_t t3;
...
type_t t100;

배열을 이용하는 것이 훨씬 편리하다.

book_t books[100];
int integer[100];
type_t t[100];

✅ 책 구조체 배열을 만들어 보자.

book.h와 book.c는 기존과 같다.

r3. 책 구조체 코드를 모듈별로 분할해보자.


#define _CRT_SECURE_NO_WARNINGS

#include <stdio.h>
#include <string.h>

#include "book.h"

int main(void) {
	book_t books[3]; // 편의상 3권만 만들자. 300권 만들어도 된다.

	book_init(&books[0], "야옹이 수영교실", "신현경", 14220);
	book_init(&books[1], "천개산 패밀리 1", "박현숙", 12600);
	book_init(&books[2], "세상은 이야기로 만들어졌다", "자미라 엘 우아실", 24300);

	book_print(&books[0]);
	book_print(&books[1]);
	book_print(&books[2]);

	return 0;
}

✅ 구조체 배열을 인자로 받기

	book_t sel_books[3]; // samsung_elementary_literaure_books 삼성 초등 문학 전집 sel_books
	book_t mel_books[3]; // 민음사.. 

	book_init(&sel_books[0], "15 소년 표류기", "쥘 베른", 5555);
	book_init(&sel_books[1], "장발장", "빅토르 위고", 5555);
	book_init(&sel_books[2], "걸리버 여행기", "조나단 스위프트", 5555);

	book_init(&mel_books[0], "리어왕", "윌리엄 셰익스피어", 4444);
	book_init(&mel_books[1], "동물 농장", "조지 오웰", 4444);
	book_init(&mel_books[2], "파리대왕", "윌리엄 골딩", 4444);

	books_print(&sel_books, 3);
	books_print(&mel_books, 3);