pointer2_5.c

    #include <stdio.h>
     
    main() {
        int i;
        char makit1[6][9] = { "Hyungwoo", "Yoonjin", "Sieun", "Woojin", "Jiyeon", "Jihoon" };                                 // 2차원 문자열 배열을 통해 각 문자열을 저장
     
        printf("makit1의 크기는 %d\n", sizeof(makit1));
     
        for (i = 0; i < 6; i++)
            printf("%s\n", makit1[i]); // 각 문자열의 첫 번째 문자의 주소 값
     
        printf("\n\n");
     
        char *makit2[6] = { "Hyungwoo", "Yoonjin", "Sieun", "Woojin", "Jiyeon", "Jihoon" };
        printf("makit2의 크기는 %d\n", sizeof(makit2));
     
        for (i = 0; i < 6; i++)
            printf("%s\n", makit2[i]);
    }

    실행 결과

    makit1의 크기는 54

    Hyungwoo

    Yoonjin

    Sieun

    Woojin

    Jiyeon

    Jihoon

    makit2 의 크기는 24

    Hyungwoo

    Yoonjin

    Sieun

    Woojin

    Jiyeon

    Jihoon

    Tip

    참고로 makit1은 2차원 크기 [6][9] 문자형 배열이므로 54바이트를 사용합니다. 또한, makit2는 크기가 6인 포인터 배열 변수이므로 총 24바이트(6 * 포인터 변수 1개당 4바이트)를 사용합니다.

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