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;
    }
    신간 소식 구독하기
    뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.