✅ 개요 (Overview)

포인터에 대해 어느정도 알고 있다면

포인터가 데이터를 가리킬수 있음을 잘 이해하고 있을것이다.

int a= 11;
int *pa= &a;

기본 데이터형도 가리킬수 있고,

배열도 가리킬수 있고

사용자가 만든 데이터형도 가리킬수도 있다.

아래와 같이 구조체를 가리키게 할수도 있다.

★에 student를 가리키는 구조체 포인터가 오게 하려면 무얼 적어야 하나?

#define _CRT_SECURE_NO_WARNINGS

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

typedef struct _book_t {
	char title[128];
	char author[128];
	int price;
} book_t;

void print_book(book_t book) {
	static count = 0;
	printf("[%d] %s / %s / \\\\%d\\r\\n", ++count, book.title, book.author, book.price);
}

void print_book_by_ptr(★) {
	// write your codes...
	★
}

int main(void) {

	book_t book1 = { "야옹이 수영교실", "신현경", 14220 };
	print_book(book1);
	print_book_by_ptr(&book1);

	book_t book2 = { "천개산 패밀리 1", "박현숙", 12600 };
	print_book(book2);
	print_book_by_ptr(&book2);

	book_t book3 = { "세상은 이야기로 만들어졌다", "자미라 엘 우아실", 24300 };
	print_book(book3);
	print_book_by_ptr(&book3);

	return 0;
}

이렇게 적으면 된다.

타입 적고 별표 붙이면 돼..

void print_book_by_ptr(book_t* book) {
	static count = 0;
	printf("[%d] %s / %s / \\\\%d\\r\\n", ++count, (*book).title, (*book).author, (*book).price);
}

✅ 접근은 어떻게 하나?