포인터에 대해 어느정도 알고 있다면
포인터가 데이터를 가리킬수 있음을 잘 이해하고 있을것이다.
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);
}