EP.4-1 구조체

EP.4-1 구조체: 개별 부품을 하나의 장비로 조립하기 | 제어 엔지니어 구조 분석

Phase 4: Data Modeling & Struct

EP.4-1 구조체 — 데이터의 패키징과 모델링

서로 다른 부품들을 묶어 하나의 "모터 제어 모듈" 설계도 만들기

구조체(Struct): 엔지니어의 설계도

현장의 모터 한 대에는 이름(문자), 속도(정수), 온도(실수) 등 다양한 데이터가 섞여 있습니다. 이를 개별 변수로 관리하면 코드가 복잡해집니다. 구조체는 이 부품들을 하나의 케이스에 담아 '통합 제어 모듈'로 규격화하는 기술입니다.

⚡ 실습: 컨베이어 라인(01~03) 통합 제어

모터 3대를 배열로 묶어 라인 전체를 관리하는 시운전 코드입니다.

#define _CRT_SECURE_NO_WARNINGS // 최신 보안 경고 방지 #include <stdio.h> #include <string.h> // 1. 모터 제어 모듈 설계도 정의 struct Motor {     char name[20];     int speed;     float temp; }; int main() {     // 2. 구조체 배열 선언 (모터 3대를 한 라인으로 구축)     struct Motor line[3];     // 3. 각 장비 데이터 입력 (점 '.' 연산자로 내부 접속)     strcpy(line[0].name, "Conveyor_01");     line[0].speed = 1200; line[0].temp = 35.5;     strcpy(line[1].name, "Conveyor_02");     line[1].speed = 1500; line[1].temp = 42.1;     strcpy(line[2].name, "Conveyor_03");     line[2].speed = 1100; line[2].temp = 38.8;     // 4. 전 라인 상태 모니터링     printf("=== [라인 가동 상태 모니터링] ===\n");     for (int i = 0; i < 3; i++) {         printf("[%s] 속도: %d RPM | 온도: %.1f ℃\n",             line[i].name, line[i].speed, line[i].temp);     }     return 0; }

▲ 실습 결과

⚠️ 마스터의 시운전 메모: strcpy 오류 해결

최신 컴파일러는 보안상의 이유로 strcpy 사용 시 오류를 발생시킵니다. 파일 최상단에 #define _CRT_SECURE_NO_WARNINGS를 작성하여 "이 설계도는 안전하니 그대로 진행하라"고 명령하면 해결됩니다.

© 2026 ZIN PARK · MASTERING CONTROL ENGINEERING SERIES
"개별 데이터를 묶어 시스템을 모델링하는 순간, 진정한 소프트웨어 아키텍처가 시작된다."

댓글

이 블로그의 인기 게시물

EP.0 코딩의 첫걸음 — 전기를 어떻게 연결할 것인가?

EP.0-1 천공카드

EP.1-1트랜지스터