프로젝트 경험 구체화·C언어 함수 설명·메모리 관리 교훈 연결 중심으로 푸는 결
프로젝트 경험으로는 학부 3학년 때 임베디드 환경에서 센서 데이터를 수집하는 시스템을 `C`언어로 개발한 경험이 가장 기억에 남습니다. UART 통신으로 온습도 센서 데이터를 받아서 직렬로 출력하는 구조였는데, 메모리 제약 환경이다 보니 동적 할당 없이 정적 버퍼로 처리하는 방식을 써야 했습니다. C언어에서 자주 사용했던 함수는 문자열 처리의 `memcpy`·`strncpy`, 버퍼 초기화에 `memset`, 파일 입출력에 `fopen`·`fread`를 주로 썼습니다. 특히 `strncpy`는 null 종결자를 자동으로 추가하지 않는 경우가 있어서, 버퍼 마지막에 null 종결자를 직접 넣는 습관을 붙인 뒤로 버그가 줄었습니다. 팀 프로젝트에서는 각자 모듈을 나눠 짜고 Makefile로 빌드하는 방식으로 통합했는데, 헤더 파일로 인터페이스를 먼저 정의하고 구현을 나누는 것이 충돌 없이 협업하는 데 효과적이었습니다. 지금은 주 언어가 달라졌지만, C로 짜면서 배운 메모리 관리 감각은 다른 언어에서도 디버깅할 때 여전히 도움이 됩니다.