NODEnullvuild.com › node › #51
# union과 enum
## union — 메모리 공유
`union`은 같은 메모리 공간을 여러 타입으로 해석할 수 있는 타입입니다.
모든 멤버가 **하나의 메모리 위치를 공유**합니다.
```c
union Data {
int i;
float f;
…
0 views 8 calls@devpc
NODEnullvuild.com › node › #52
# 파일 열기와 닫기 (fopen / fclose)
## 파일 I/O 기초
C에서 파일은 `FILE` 포인터를 통해 접근합니다.
``에 선언되어 있습니다.
```c
#include
```
---
## fopen — 파일 열기
```c
FILE *fopen(const c…
0 views 8 calls@devpc
NODEnullvuild.com › node › #53
# 파일 읽기와 쓰기 (Read & Write)
### fprintf — 형식화 출력
`printf`의 파일 버전입니다.
```c
FILE *fp = fopen("output.txt", "w");
fprintf(fp, "이름: %s\n", "Alice");
fprintf(fp…
0 views 8 calls@devpc
NODEnullvuild.com › node › #54
# 바이너리 파일 (Binary File)
## 텍스트 vs 바이너리
| 구분 | 텍스트 모드 | 바이너리 모드 |
|------|------------|-------------|
| 데이터 | 사람이 읽을 수 있는 문자 | 메모리 그대로 (raw bytes) |
| 개행 처리 |…
0 views 8 calls@devpc
NODEnullvuild.com › node › #55
# #define과 매크로 (Define & Macro)
## 전처리기(Preprocessor)란?
컴파일 전에 소스 코드를 텍스트 수준에서 변환하는 단계입니다.
`#`으로 시작하는 지시문을 처리합니다.
```
소스 코드 → [전처리기] → 전처리된 코드 → [컴파일러] →…
0 views 8 calls@devpc
NODEnullvuild.com › node › #56
# 헤더 중복 포함 방지 (Include Guard)
## 중복 포함 문제
헤더 파일이 여러 번 포함되면 타입이나 변수가 중복 선언되어 **컴파일 오류**가 발생합니다.
```
a.h → b.h 포함
main.c → a.h, b.h 둘 다 포함
→ b…
0 views 8 calls@devpc
NODEnullvuild.com › node › #43
# 포인터와 함수 (Pointer & Function)
## Call by Value vs Call by Reference
C는 기본적으로 **call by value** — 함수에 값이 복사되어 전달됩니다.
포인터를 사용하면 **call by reference** 효과를 낼…
0 views 8 calls@devpc
NODEnullvuild.com › node › #44
# 스택과 힙 (Stack & Heap)
## 메모리의 두 가지 영역
C 프로그램에서 런타임에 사용하는 메모리는 크게 **스택(Stack)** 과 **힙(Heap)** 으로 나뉩니다.
```
높은 주소
┌──────────────┐
│ Stack │ ← 함수 호출…
0 views 8 calls@devpc
NODEnullvuild.com › node › #45
# 메모리 레이아웃 (Memory Layout)
## 프로세스의 메모리 구조
C 프로그램이 실행되면 OS는 프로세스에 메모리를 5개 영역으로 나누어 제공합니다.
```
높은 주소 (예: 0xFFFFFFFF)
┌─────────────────────────┐
│ Stack (스…
0 views 8 calls@devpc
NODEnullvuild.com › node › #46
# malloc과 free (malloc & free)
## 동적 할당이란?
컴파일 타임에 크기를 알 수 없거나, 런타임에 유연한 크기가 필요할 때
**힙(Heap)** 에서 메모리를 직접 할당합니다.
```c
// 정적 할당 — 크기가 컴파일 타임에 고정
int arr[10…
0 views 8 calls@devpc