언어 스탯
학습 난이도는 점수가 높을수록 더 어렵다는 뜻입니다.
Programming Language
C는 하드웨어와 가까운 제어, 메모리 관리, 펌웨어, 장비 내부 로직에서 많이 쓰이는 기본 언어입니다.
가볍고 빠르며 저수준 제어에 강합니다.
펌웨어, 임베디드 제어, 장비 내부 보드 제어
Visual Studio, GCC, Keil, IAR
포인터와 메모리 구조 이해가 핵심입니다.
학습 난이도는 점수가 높을수록 더 어렵다는 뜻입니다.
Learning Order
기초 교재에서 반드시 배우는 순서를 기준으로 정리했습니다.
`int`, `if`, `return` 같은 예약어와 변수 이름 규칙을 익힙니다.
`char`, `int`, `float`, `double`과 크기 차이를 이해합니다.
값 저장, 초기화, `const`의 의미를 정리합니다.
산술, 비교, 논리, 증감, 비트 연산자를 다룹니다.
`printf`, `scanf` 같은 기본 입출력 함수를 익힙니다.
`if`, `else`, `switch`로 분기 구조를 만듭니다.
`for`, `while`, `do while`로 반복 처리 구조를 익힙니다.
매개변수, 반환값, 선언과 정의를 이해합니다.
여러 데이터를 한 번에 다루고 문자열의 끝 문자인 `\\0`을 이해합니다.
C에서 가장 중요한 핵심으로 주소와 간접 접근을 배웁니다.
서로 다른 자료형을 하나의 데이터 묶음으로 관리합니다.
로그 저장, 설정 파일 처리, 오류 찾기를 실습으로 익힙니다.
| 개념 | 설명 | 왜 중요한가 |
|---|---|---|
| 자료형 | 메모리를 얼마나 쓰는지와 표현 범위를 정합니다. | 센서 값, 장비 상태값을 정확하게 다루기 위해 필요합니다. |
| 포인터 | 메모리 주소를 다루는 변수입니다. | 장비 제어와 저수준 코드에서 거의 필수입니다. |
| 함수 | 반복되는 코드를 재사용 가능한 단위로 나눕니다. | 제어 로직을 모듈화해 유지보수를 쉽게 합니다. |
| 비트 연산 | 개별 비트를 켜고 끄는 연산입니다. | 레지스터 제어, 장치 상태 플래그 처리에 자주 등장합니다. |
| 메모리 | 스택, 힙, 지역변수, 전역변수 개념입니다. | 임베디드 장비에서는 자원이 제한적이어서 더 중요합니다. |
| 항목 | 정리 |
|---|---|
| 무엇에 특화되어 있나 | 하드웨어와 가까운 저수준 제어, 빠른 실행, 작은 자원 환경에 특화되어 있습니다. |
| 장점 | 메모리와 장치 제어를 세밀하게 다룰 수 있고 실행 오버헤드가 작습니다. |
| 반도체 외 주요 활용 | 임베디드 시스템, 운영체제 일부, 드라이버, 자동차 전장, IoT 기기, 로봇 제어에서 많이 쓰입니다. |
C는 장비 내부 제어 보드, MCU, 센서 통신, 모터 제어, 장비 상태 감시 같은 하위 제어 계층에서 많이 쓰입니다. 화면 UI보다 장비가 실제로 움직이는 쪽에 가까운 언어입니다.
모터를 일정 속도로 움직이기, 온도 센서 값을 읽기, 알람 코드를 처리하기, 통신 패킷을 해석하기 같은 작업이 대표적입니다.