본문 바로가기
C언어

[C언어] 심플전화번호부 동적 메모리를 할당을 이용하여 사용자로부터 받은 연락처를 저장하고 출력하는 프로그램을 작성하시오

by 이얏호이야호 2020. 4. 24.

#include <stdio.h>


#include <stdlib.h>


typedef struct contacts {


// 구조체 타입 정의


char name[100];


char mobile_phone[100];


}


CONTACTS;


int main(void) {


CONTACTS *contacts;


// 동적 메모리 공간을 가리키는 포인터


int size, i;


printf("주소의 개수: ");


scanf("%d", &size);


contacts = (CONTACTS *)malloc(sizeof(CONTACTS)* size);


// 동적 메모리 할당


if( contacts == NULL ) {


printf("동적 메모리 할당 오류");


exit(1);


}


for (i=0; i<size ;i++) {


printf("이름을 입력하시오: ");


fflush(stdin);


// 입력 버퍼를 비운다. gets(contacts[i].name);


printf("휴대폰 번호를 입력하시오: ");


gets(contacts[i].mobile_phone);


}


printf("========================\n");


printf("이름 휴대폰 번호\n");


printf("========================\n");


for (i=0;i<size;i++)


printf("%s %s \n", contacts[i].name, contacts[i].mobile_phone);


printf("\n========================\n");


free(contacts);


// 동적 메모리 공간 해제


return 0;


}

더 많은 C코드를 보고싶다면? https://chuinggun.tistory.com/category/C%EC%96%B8%EC%96%B4

댓글