더북(TheBook)

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바이트)를 사용합니다.

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