미니 프로젝트를 진행하면서 실제 데이터를 다루는 로직을 구현해보니 이론으로만 알던 포인터와 배열의 관계가 더 명확해졌다.
프로젝트 핵심 로직 (학생 관리 시스템 예시)
#include <stdio.h>
#include <string.h>
typedef struct {
int id;
char name[20];
} Student;
void print_student(Student *s) {
printf("ID: %d, Name: %s\n", s->id, s->name);
}
int main() {
Student list[2];
list[0].id = 1;
strcpy(list[0].name, "Alice");
list[1].id = 2;
strcpy(list[1].name, "Bob");
for(int i = 0; i < 2; i++) {
print_student(&list[i]);
}
return 0;
}
코드 설명:
– typedef struct를 사용하여 사용자 정의 자료형을 만들고 관리했다.
– 구조체 포인터를 매개변수로 전달하여 원본 데이터를 효율적으로 참조하고 출력하는 방식을 적용했다.
수업 때는 지나갔던 C언어 미니 프로젝트 회고를 오늘은 끝까지 붙들었다.
실패 케이스를 먼저 적어 두고 구현했더니 되돌아가는 시간이 줄었다.
같은 내용을 다른 변수 이름으로 다시 구현했더니 C언어 미니 프로젝트 회고이 훨씬 또렷해졌다.
헤더와 소스 분리 기준을 다시 잡으며 처음 가정을 의심해 보니 결론만 기억하고 과정은 놓치고 있었다는 걸 예제에서 들켰다.
C언어 미니 프로젝트 회고을 한 번에 끝내진 못했지만, 적어도 흔들리는 지점은 분명해졌다.
내일 다시 보면 또 틀릴 수 있겠지만, 지금은 기준선이 생겼는 것 같다.