게시판 즐겨찾기
편집
드래그 앤 드롭으로
즐겨찾기 아이콘 위치 수정이 가능합니다.
구조체 동적할당
게시물ID : programmer_12088짧은주소 복사하기
작성자 : 베오베감이다
추천 : 0
조회수 : 516회
댓글수 : 3개
등록시간 : 2015/07/14 13:21:04
도서정보 입력과 출력을 구조체 포인터배열 선언하고 구조체 변수를 동적으로 할당하는 형태로 만드는 문제입니다..
근데 malloc 에는 free 가 따라와야 정상이잖아여???
근데
Book *info=(Book*)malloc(sizeof(Book)*MAX);
free(info);
 
를 하면 free의 info 부분이 형식이름을 사용할 수 없습니다 라고 나오네요 ㅜ 왜그럴까요..
 
#include <stdio.h>
#include <stdlib.h>
#include "BookInfo.h"
#define MAX 3
int main(void)
{
 Book *info;
 int i;
 Book *info=(Book*)malloc(sizeof(Book)*MAX);
 
 printf("도서 정보 입력\n");
 for(i=0; i<MAX; i++)
 {
   fputs("저자 : ", stdout);
   gets(info[i].writer);
   fputs("제목 : ", stdout);
   gets(info[i].title);
   fputs("페이지 수 : ", stdout);
   scanf_s("%d",&info[i].page);
   fflush(stdin);
 }
 
 printf("도서 정보 출력 \n");
 for(i=0; i<MAX; i++)
 {
  printf("book %d \n",i+1);
  fputs("저자 : ", stdout);
  puts(info[i].writer);
  fputs("제목 : ", stdout);
  puts(info[i].title);
  fputs("페이지수 : ", stdout);
  printf("%d \n",info[i].page);
 }
 free(info);
 return 0;
}
전체 추천리스트 보기
새로운 댓글이 없습니다.
새로운 댓글 확인하기
글쓰기
◀뒤로가기
PC버전
맨위로▲
공지 운영 자료창고 청소년보호