우리 반은 학생이 10명이라고 하고 학생 번호를 1번부터 10번을 차례대로 부여하였습니다. 그리고 2번 학생이 전학을 가는 바람에, 우리 반 학생이 9명이 되었을 때를 가정하여 코드로 작성하면 다음과 같습니다.

    list_2.c

    #include <stdio.h>
     
    struct Student {
        int number;
    };
     
    main() {
        struct Student a[10];            // 구조체 배열 선언
     
        int i;
     
        for (i = 0; i < 10; i++) {
            a[i].number = i + 1;         // 학생 번호 부여
        }
     
        for (i = 0; i < 10; i++) {
            printf("%d ", a[i].number);  // 학생 번호 출력
        }
        printf("\n");
     
        // 2번 학생 전학
        printf("2번 학생 전학\n");
     
        a[1].number = 0;        // 2번 학생 전학으로 학생 번호 0으로 초기화 
     
        for (i = 0; i < 10; i++) {
     
            printf("%d ", a[i].number);  // 학생 번호 출력
     
        }
        printf("\n");
     
        for (i = 1; i < 9; i++) // 배열의 인덱스 2부터 9까지 차례대로 왼쪽으로 값 이동 
            a[i].number = a[i + 1].number;
     
        a[9].number = 0;        // 배열의 마지막 인덱스 9에 0을 저장
        printf("방을 왼쪽으로 이동\n");
     
        for (i = 0; i < 10; i++) {
            printf("%d ", a[i].number);
        }
        printf("\n");
    }
    신간 소식 구독하기
    뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.