더북(TheBook)

이 두 가지 방법 외에, 문자열을 저장하는 세 번째 방법이 있습니다. 바로 동적 메모리 할당(dynamic memory allocation)입니다. 단어가 어렵다고요? 지금부터 코드를 보면서 동적 메모리 할당이 무엇이고 왜 필요한지 설명하겠습니다.

다음 코드는 공백 문자를 포함하지 않는 문자열을 입력받아 저장하고 출력하는 코드입니다.

dynamic_2.c

#include <stdio.h>
 
main()
{
    char *a;
    char b[10];
 
    printf("저장하고자 하는 문자열을 입력하세요: ");
    scanf("%s", b); // 배열 첫 번째 요소의 주소 값
 
    a = b; // 포인터 변수 초기화
    printf("저장된 문자열을 출력합니다: ");
    printf("%s", a);
    printf("\n");
}

실행 결과

저장하고자 하는 문자열을 입력하세요: abcdefghi

저장된 문자열을 출력합니다: abcdefghi

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.