Files
2nd/10_Wiki/Topics/Digests/Topic_Programming--Topic_C.md
T
Antigravity Agent 6549ead309 chore(wiki): 00_Raw 정리(위키화 완료분 32건 삭제) + Topic_Math_Specialty 신설 + Astra 런타임 자산 동기화
- 00_Raw: 위키화가 끝난 회의록·원문 32건 삭제
- 10_Wiki/Topics: Topic_Math_Specialty(수학 전용 지식 폴더 — Astra 단계별 지식 스코프용),
  Digests, ASTRA 기능 인벤토리 추가
- .astra 런타임(growth/eval/memory)·lessons·chronicle 설정 동기화

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-05 20:50:10 +09:00

18 lines
2.0 KiB
Markdown

---
type: digest
title: "소화 노트: Topic_Programming/Topic_C"
generated_at: 2026-07-04T18:03:11.445Z
sources: ["00_INDEX", "C_Newline", "C_Null", "C_Macros"]
---
# 소화 노트: Topic_Programming/Topic_C
> ⚙️ 자동 생성 (sleep-time 사전 소화) — **원문이 항상 우선**입니다. 소스가 바뀌면 자동 재생성되며, 이 파일은 삭제해도 안전합니다.
## 예상 질문과 답
- **Q: C 언어에서 `\n`은 단순히 줄 바꿈 명령인가요?** — A: 아닙니다. `\n`은 커서를 다음 줄의 시작점으로 이동시키는 특수 문자(ESCAPE SEQUENCE)입니다. 따라서 `printf()` 호출 하나에 여러 개의 `\n`을 포함하여 멀티라인 출력을 구현할 수 있습니다. [C New Lines]
- **Q: `\n\n`을 사용하면 왜 빈 줄이 생기나요?** — A: `\n`은 커서를 한 줄 아래로 이동시키므로, 두 개의 `\n`을 연속으로 사용하면 커서가 시각적으로 한 줄을 건너뛰게 되어 빈 줄이 생성됩니다. [C New Lines]
- **Q: C에서 `NULL` 포인터는 언제 사용해야 하나요?** — A: `fopen()`이나 `malloc()`과 같은 함수가 실패했을 때, 해당 자원(파일 또는 메모리)이 존재하지 않음을 알리는 "실패 신호"로 `NULL`을 반환합니다. 따라서 포인터를 사용하기 전에는 반드시 `if (ptr == NULL)` 체크를 해야 합니다. [C NULL]
- **Q: C의 매크로(`\#define`)는 일반 변수와 어떻게 다른가요?** — A: 매크로는 컴파일러가 코드를 보기 *이전*에 전처리기(Preprocessor) 단계에서 발생하는 순수한 텍스트 치환입니다. 따라서 변수처럼 컴파일되는 것이 아니라, 원본 코드를 해당 값으로 대체하는 역할을 합니다. [C Preprocessor and Macros]
- **Q: 매크로를 사용할 때 괄호 처리가 중요한 이유는 무엇인가요?** — A: 매크로는 실제 함수 호출이 아니라 텍스트 치환이기 때문에, 인자나 본문에 연산자가 포함될 경우