더북(TheBook)

코드로 구현하면 다음과 같습니다.

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]);
    }
}
신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.