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