더북(TheBook)

10.3 메모리 사용과 지역/전역 변수, 동적 메모리 할당에 대한 고찰

이름을 물어보고 사용자로부터 입력을 받아 이를 저장하고 화면에 출력하는 코드를 작성하려고 합니다. 크게 두 가지 함수, 이름을 입력받은 함수와 main() 함수로 구성하여 코드를 작성해 보겠습니다.

dynamic_4.c

#include <stdio.h>
 
char* WhatIsYourName(void); // 함수 출력이 문자형 변수의 주소
 
main()
{
    char *name1;            // 문자형 포인터 변수 선언
    char *name2;
 
    name1 = WhatIsYourName();
    name2 = WhatIsYourName();
 
    printf("Hi, %s\n", name1);
    printf("Hi, %s\n", name2);
}
char* WhatIsYourName(void)
{
    char name[15]; // 지역 변수
 
    printf("당신의 이름을 입력 해주세요: ");
    gets(name);
 
    return name;
}
신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.