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 사용 시 오류를 발생시킵니다. 파일 최상단에 #define _CRT_SECURE_NO_WARNINGS를 작성하여 "이 설계도는 안전하니 그대로 진행하라"고 명령하면 해결됩니다.

댓글
댓글 쓰기