우리 반은 학생이 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"); }