코드로 구현하면 다음과 같습니다.
pointer2_13.c
#include <stdio.h> main() { /* 2차원 배열을 이용한 학생 이름 저장 char a[3][10]={"james", "tommy", "ada"}; char b[3][10]={"woojin", "sieun", "yoonjin"}; char c[3][10]={"hyungwoo", "jihoon", "jiyeon"}; */ // 포인터 배열을 이용한 학생 이름 저장 char *a[3] = { "james", "tommy", "ada" }; char *b[3] = { "woojin", "sieun", "yoonjin" }; char *c[3] = { "hyungwoo", "jihoon", "jiyeon" }; int i; char **selection = NULL; // 이중 포인터 변수 선언 int myclass; printf("선택하고 싶은 반을 입력하세요.\n"); printf("1반은 1, 2반은 2, 3반은 3을 입력하세요.\n"); scanf("%d", &myclass); if (myclass = = 1) selection = a; // 포인터 배열 a의 첫 번째 요소 a[0]의 주소 값 저장 else if (myclass = = 2) selection = b; // 포인터 배열 b의 첫 번째 요소 b[0]의 주소 값 저장 else selection = c; // 포인터 배열 c의 첫 번째 요소 c[0]의 주소 값 저장 if (myclass = = 1) { printf("1반 학생의 이름\n"); for (i = 0; i < 3; i++) printf("%s\n", selection[i]); } else if (myclass = = 2) { printf("2반 학생의 이름\n"); for (i = 0; i < 3; i++) printf("%s\n", selection[i]); } else { printf("3반 학생의 이름\n"); for (i = 0; i < 3; i++) printf("%s\n", selection[i]); } }