프린틀 할때는 값 복사만 이루어져도 상관없지만,
초기화 하려면, 참조를 받아야 한다.
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <string.h>
#include "book.h"
int main(void) {
book_t book1;
book_t book2;
book_t book3;
book_init(&book1, "야옹이 수영교실", "신현경", 14220);
book_init(&book2, "천개산 패밀리 1", "박현숙", 12600);
book_init(&book3, "세상은 이야기로 만들어졌다", "자미라 엘 우아실", 24300);
book_print(&book1);
book_print(&book2);
book_print(&book3);
return 0;
}
#define _CRT_SECURE_NO_WARNINGS
#ifndef __BOOK_T__
#define __BOOK_T__
#include <stdio.h>
#include <string.h>
typedef struct _book_t {
char title[128];
char author[128];
int price;
} book_t;
void book_init(book_t* book, char* title, char* author, int price);
void print_book(book_t* book);
#endif
#include "book.h"
void book_init(book_t* book, char* title, char* author, int price) {
strcpy(book->title, title);
strcpy(book->author, author);
book->price = price;
}
void book_print(book_t* book) {
static count = 0;
printf("[%d] %s / %s / \\\\%d\\r\\n", ++count, (*book).title, (*book).author, (*book).price);
}