구조체에 대해 복습할 수 있었던 좋은 예제였다..
여기 올려두고
종종 참고해야겠다......
1번 문제
#include <stdio.h>
typedef struct book{
char title[30];
char writer[20];
int pagenum;
}Boook;
int main(void)
{
int i, count=3;
Boook bk1, bk2, bk3;
Boook * arr[3]={&bk1, &bk2, &bk3};
printf("도서 정보 입력\n");
for(i=0; i<count; i++)
{
printf("저자: ");
scanf("%s", (**(arr+i)).writer);
printf("제목: ");
scanf("%s", (**(arr+i)).title);
printf("페이지 수: ");
scanf("%d", &(**(arr+i)).pagenum);
printf("\n");
}
printf("\n\n도서 정보 출력\n");
for(i=0; i<count; i++)
{
printf("book %d\n", i+1);
printf("저자: %s\n", (**(arr+i)).writer);
printf("책제목: %s\n", (**(arr+i)).title);
printf("페이지 수: %d\n", (**(arr+i)).pagenum);
printf("\n");
}
return 0;
}
2번 문제
#include <stdio.h>
#include <stdlib.h>
typedef struct book{
char title[30];
char writer[20];
int pagenum;
}Boook;
int main(void)
{
int i, count;
printf("선언할 구조체 개수 입력: ");
scanf("%d", &count);
Boook * arr = (Boook *)malloc(sizeof(Boook) * count);
printf("도서 정보 입력\n");
for(i=0; i<count; i++)
{
printf("저자: ");
scanf("%s", (*(arr+i)).writer);
printf("제목: ");
scanf("%s", (*(arr+i)).title);
printf("페이지 수: ");
scanf("%d", &((*(arr+i)).pagenum));
printf("\n");
}
printf("\n\n도서 정보 출력\n");
for(i=0; i<count; i++)
{
printf("book %d\n", i+1);
printf("저자: %s\n", (*(arr+i)).writer);
printf("책제목: %s\n", (*(arr+i)).title);
printf("페이지 수: %d\n", (*(arr+i)).pagenum);
printf("\n");
}
return 0;
}
'STUDY > CODING' 카테고리의 다른 글
맥북 도커 설치 및 우분투 실행 (2) | 2020.03.18 |
---|---|
열혈 C : 문제 25-2 malloc, calloc, realloc 함수 이용하기 (0) | 2020.03.16 |
열혈 C: 문제25-2 1번 문제 (1) | 2020.03.14 |
열혈 C: 문제21-2 3번 문제 (0) | 2020.03.14 |
열혈 C : PopuResarch.c 1차원으로 표현하기 (0) | 2020.03.14 |
댓글