컴퓨터와 프로그래밍
컴퓨터·프로그램의 정의, 하드웨어/소프트웨어 구분, 2진수 기반 자료 표현(Bit·Byte·Word).
C 프로그램 구조
C 프로그램의 기본 구조, 전처리기·main·함수·주석 구성, 실행 순서와 컴파일 과정.
변수와 자료형
변수 선언·초기화, 기본 자료형(int·float·char), 상수와 리터럴, 형 변환 규칙.
입출력과 전처리
printf·scanf 등 표준 입출력 함수, 형식 지정자, 전처리기(#include·#define) 지시자.
연산자
조건·산술·관계·논리·비트 연산자, 우선순위와 결합 방향.
제어문과 반복문
if·switch 조건문과 for·while·do-while 반복문, break·continue 흐름 제어.
비트 연산자와 매크로
비트 논리·시프트 연산자와 마스크 패턴,
배열
1차원 배열 선언·초기화·접근, 배열과 메모리 레이아웃, 인덱스 범위 안전성.
함수 기초
함수 정의·호출·반환, 매개변수 전달(call by value), 함수 원형과 헤더 분리.
문자열
C 문자열 표현(null 종료), string.h 주요 함수(strcpy·strcat·strcmp·strlen), 입력 처리.
다차원 배열
2차원·다차원 배열 선언·초기화·접근, 행/열 메모리 배치(row-major), 배열 함수 전달.
변수 유효범위
지역·전역·정적 변수, 스택/정적 영역 메모리 구조, 유효범위와 수명 개념.
재귀 함수
재귀 함수의 정의·종료 조건, 스택 프레임과 실행 과정, 반복문 대비 장단점.
포인터 기초
메모리 주소 개념, 포인터 변수 선언·역참조, &와 * 연산자, NULL 포인터.
포인터 활용
포인터 산술, 배열과 포인터 관계, 함수 인자 전달(call by reference), 이중 포인터.
구조체·공용체·열거형
사용자 정의 자료형 struct·union·enum, 중첩·포인터 멤버 접근, typedef.
파일 처리
파일 스트림, fopen·fclose·fgets·fputs, 텍스트 파일 읽기/쓰기와 에러 처리.
이진 파일 처리
텍스트/이진 파일의 차이, fread·fwrite·fseek, 구조체 직렬화 패턴.
동적 메모리 할당
스택·힙 메모리, malloc·calloc·realloc·free 사용법, 메모리 누수와 해제 패턴.
연결 리스트
배열의 한계, 노드 기반 연결 리스트 구조, 단일·이중 연결 리스트 표현.
연결 리스트 연산
연결 리스트 삽입·삭제·탐색·순회, 포인터 연산을 통한 노드 조작.