โน๏ธ Skipped - page is already crawled
| Filter | Status | Condition | Details |
|---|---|---|---|
| HTTP status | PASS | download_http_code = 200 | HTTP 200 |
| Age cutoff | PASS | download_stamp > now() - 6 MONTH | 1 months ago |
| History drop | PASS | isNull(history_drop_reason) | No drop reason |
| Spam/ban | PASS | fh_dont_index != 1 AND ml_spam_score = 0 | ml_spam_score=0 |
| Canonical | FAIL | meta_canonical IS NULL OR = '' OR = src_unparsed | net,wikidocs!/book/1 s443 |
| Property | Value |
|---|---|
| URL | https://wikidocs.net/101942 |
| Last Crawled | 2026-03-12 07:29:27 (28 days ago) |
| First Indexed | not set |
| HTTP Status Code | 200 |
| Meta Title | 4 ๋ค์ค ํ์ผ ํ๋ก๊ทธ๋จ ๋น๋ํ๋ ๋ฒ - C ํ๋ก๊ทธ๋๋ฐ: ํ๋์ ์ ๊ทผ |
| Meta Description | 2.1 ๋จ์์์ ํ๋์ ํ์ผ๋ก ๊ตฌ์ฑ๋ ํ๋ก๊ทธ๋จ์ ์ปดํ์ผํ๊ณ ๋งํฌํ๋ ์ ์ฐจ๋ฅผ ์ดํด๋ดค์๋ค. ์ด์ ์ด๊ฑธ ์ข ๋ ํ์ฅํด์ ์ฌ๋ฌ ํ์ผ์ ๊ฐ๋ ํ๋ก๊ทธ๋จ์ ๋ค๋ค๋ณด๋๋ก ํ์. ํฐ ํ๋ก๊ทธ๋จ์ ๋นโฆ |
| Meta Canonical | net,wikidocs!/book/1 s443 |
| Boilerpipe Text | 00 ์๋ก
01 C ์
๋ฌธ
1 C์ ์ญ์ฌ
2 ์ฅ์ ๊ณผ ๋จ์
Q & A
02 C ๊ธฐ์ด
1 ๊ฐ๋จํ ํ๋ก๊ทธ๋จ ์ง๊ธฐ
2 ๊ฐ๋จํ ํ๋ก๊ทธ๋จ์ ์ผ๋ฐ์ ์ธ ๊ตฌ์กฐ
3 ์ฃผ์
4 ๋ณ์์ ํ ๋น
5 ์
๋ ฅ๊ฐ ์ฝ๊ธฐ
6 ์์ ์ด๋ฆ ์ ์ํ๊ธฐ
7 ์๋ณ์
8 C ํ๋ก๊ทธ๋จ์ ๋ ์ด์์
Q & A
03 ์์ ์
์ถ๋ ฅ
1 printf ํจ์
2 scanf ํจ์
Q & A
04 ํํ์
1 ์ฐ์ ์ฐ์ฐ์
2 ํ ๋น์ฐ์ฐ์
3 ์ฆ๊ฐ์ฐ์ฐ์
4 ํํ์ ํ๊ฐ
5 ํํ๋ฌธ
Q & A
05 ์ ํ๋ฌธ
1 ๋
ผ๋ฆฌํํ์
2 if๋ฌธ
3 switch๋ฌธ
Q & A
06 ๋ฃจํ
1 while๋ฌธ
2 do๋ฌธ
3 for๋ฌธ
4 ๋ฃจํ์์ ๋ฒ์ด๋๊ธฐ
5 null๋ฌธ
Q & A
07 ๊ธฐ๋ณธํ
1 ์ ์ํ
2 ์์ํ
3 ๋ฌธ์ํ
4 ํ๋ณํ
5 ํ์ ์
6 sizeof ์ฐ์ฐ์
Q & A
08 ๋ฐฐ์ด
1 1์ฐจ์ ๋ฐฐ์ด
2 ๋ค์ฐจ์ ๋ฐฐ์ด
3 ๊ฐ๋ณํฌ๊ธฐ ๋ฐฐ์ด (C99)
Q & A
09 ํจ์
1 ํจ์ ์ ์ ๋ฐ ํธ์ถ
2 ํจ์ ์ ์ธ
3 ์
๋ ฅ๋ณ์
4 return๋ฌธ
5 ํ๋ก๊ทธ๋จ ์ข
๋ฃ
6 ์ฌ๊ท
Q & A
10 ํ๋ก๊ทธ๋จ ์ค๊ณ
1 ์ง์ญ๋ณ์
2 ์ธ๋ถ๋ณ์
3 ๋ธ๋ก
4 ์ค์ฝํ
5 C ํ๋ก๊ทธ๋จ ์ค๊ณํ๊ธฐ
Q & A
11 ํฌ์ธํฐ
1 ํฌ์ธํฐ ๋ณ์
2 ์ฃผ์ ๋ฐ ์ฐธ์กฐ ์ฐ์ฐ์
3 ํฌ์ธํฐ ํ ๋น
4 ์
๋ ฅ๋ณ์๋ก์ ํฌ์ธํฐ
5 ๋ฐํ๊ฐ์ผ๋ก์ ํฌ์ธํฐ
Q & A
12 ํฌ์ธํฐ์ ๋ฐฐ์ด
1 ํฌ์ธํฐ ์ฐ์
2 ํฌ์ธํฐ๋ฅผ ํตํ ๋ฐฐ์ด์ฒ๋ฆฌ
3 ๋ฐฐ์ด ์ด๋ฆ ํฌ์ธํฐ๋ก์ ์ฐ๊ธฐ
4 ๋ค์ฐจ์ ๋ฐฐ์ด์ ์ด๋ฆ ํฌ์ธํฐ๋ก์ ์ฐ๊ธฐ (C99)
5 ํฌ์ธํฐ์ ๊ฐ๋ณํฌ๊ธฐ ๋ฐฐ์ด (C99)
Q & A
13 ๋ฌธ์์ด
1 ๋ฌธ์์ด ๋ฆฌํฐ๋ด
2 ๋ฌธ์์ด ๋ณ์
3 ๋ฌธ์์ด ์ฝ๊ณ ์ฐ๊ธฐ
4 ๋ฌธ์์ด์ ๋ฌธ์ ์ ๊ทผํ๊ธฐ
5 C ๋ฌธ์์ด ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ฌ์ฉํ๊ธฐ
6 ๋ฌธ์์ด ๊ด์ฉ๊ตฌ
7 ๋ฌธ์์ด ๋ฐฐ์ด
Q & A
14 ์ ์ฒ๋ฆฌ๊ธฐ
1 ์ ์ฒ๋ฆฌ๊ธฐ ์๋ ๋ฐฉ์
2 ์ ์ฒ๋ฆฌ ์ง์์
3 ๋งคํฌ๋ก ์ ์
4 ์กฐ๊ฑด๋ถ ์ปดํ์ผ
5 ๊ธฐํ ์ง์์
Q & A
15 ๋๊ท๋ชจ ํ๋ก๊ทธ๋จ ์์ฑ๋ฒ
1 ์์ค ํ์ผ
2 ํค๋ํ์ผ
3 ํ๋ก๊ทธ๋จ ์ฌ๋ฌ ํ์ผ๋ก ๋๋๊ธฐ
4 ๋ค์ค ํ์ผ ํ๋ก๊ทธ๋จ ๋น๋ํ๋ ๋ฒ
Q & A
16 ๊ตฌ์กฐ์ฒด, ๊ณต์ฉ์ฒด, ์ด๊ฑฐํ
1 ๊ตฌ์กฐ์ฒด ๋ณ์
2 ๊ตฌ์กฐ์ฒดํ
3 ๋ด๋ถ ๋ฐฐ์ด๊ณผ ๊ตฌ์กฐ์ฒด
4 ๊ณต์ฉ์ฒด
5 ์ด๊ฑฐํ
Q & A
17 ํฌ์ธํฐ ๊ณ ๊ธ
1 ๋์ ๋ฉ๋ชจ๋ฆฌ ํ ๋น
2 ๋์ ํ ๋น ๋ฌธ์์ด
3 ๋์ ํ ๋น๋ ๋ฐฐ์ด
4 ๋ฉ๋ชจ๋ฆฌ ํด์
5 ๋งํฌ๋ ๋ฆฌ์คํธ
6 ํฌ์ธํฐ์ ํฌ์ธํฐ
7 ํจ์ ํฌ์ธํฐ
8 ์ ํ ํฌ์ธํฐ (C99)
9 ์ ๋์ ๋ฐฐ์ด ๋ฉค๋ฒ(C99)
Q & A
18 ์ ์ธ
1 ์ ์ธ ๋ฌธ๋ฒ
2 ์ ์ฅ ํด๋์ค
3 ํํ์ ์
4 ์ ์ธ์
5 ์ด๊ธฐ์
6 ์ธ๋ผ์ธ ํจ์ (C99)
Q & A
19 ํ๋ก๊ทธ๋จ ์ค๊ณ
1 ๋ชจ๋
2 ์ ๋ณด ์จ๊ธฐ๊ธฐ
3 ์ถ์ ์๋ฃํ
4 ์คํ ์ถ์ ์๋ฃํ
5 ์ถ์ ์๋ฃํ์ ์ค๊ณ ๋ฌธ์
Q & A
20 ์ ์์ค ํ๋ก๊ทธ๋๋ฐ
1 ๋นํธ ์ฐ์ฐ์
2 ๊ตฌ์กฐ์ฒด์์ ๋นํธํ๋
3 ๋ค๋ฅธ ์ ์์ค ๊ธฐ์ ๋ค
Q & A
21 ํ์ค ๋ผ์ด๋ธ๋ฌ๋ฆฌ
1 ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ฌ์ฉํ๊ธฐ
2 C89 ๋ผ์ด๋ธ๋ฌ๋ฆฌ ๊ฐ์
3 C99 ๋ผ์ด๋ธ๋ฌ๋ฆฌ ๋ณ๊ฒฝ์ฌํญ
4 <stddef.h> ํค๋: ์์ฃผ ์ฌ์ฉํ๋ ์ ์๋ค
5 <stdbool.h> ํค๋ (C99): ๋ถ๋ฆฌ์ธํ๊ณผ ๊ฐ
22 ์
์ถ๋ ฅ
1 ์คํธ๋ฆผ
2 ํ์ผ ์ฐ์ฐ
3 ์์ ์
์ถ๋ ฅ
4 ๋ฌธ์ ์
์ถ๋ ฅ
5 ์ค ์
์ถ๋ ฅ
6 ๋ธ๋ก ์
์ถ๋ ฅ
7 ํ์ผ ์์น
8 ๋ฌธ์์ด ์
์ถ๋ ฅ
23 ์ซ์์ ๋ฌธ์ ์๋ฃ์ ๋ํ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ง์์ฌํญ
1 <float.h> ํค๋: ๊ณ ์ ์์์ ํ์ ํน์ง
2 <limits.h> ํค๋: ์ ์ํ์ ํฌ๊ธฐ
3 <math.h> ํค๋ (C89): ์ํ
4 <math.h> ํค๋ (C89): ์ํ
5 <ctype.h> ํค๋: ๋ฌธ์ ์ฒ๋ฆฌ
6 <string.h> ํค๋: ๋ฌธ์์ด ์ฒ๋ฆฌ
24 ์ค๋ฅ ์ฒ๋ฆฌ
1 <assert.h> ํค๋: ์ง๋จ
2 <errno.h> ํค๋: ์ค๋ฅ
3 <signal.h> ํค๋: ์ ํธ ์ฒ๋ฆฌ
4 <setjmp.h> ํค๋: ๋น๋
ผ๋ฆฌ์ ๋์ฝ
25 ๊ตญ์ ์ ๊ธฐ๋ฅ
1 <locale.h> ํค๋: ์ง์ญํ
2 ๋ค์ค๋ฐ์ดํธ ๋ฌธ์์ ๋์ ๋ฌธ์
3 ์ด์ค๊ธ์์ ์ผ์ค๊ธ์
4 ์ ๋๋ฒ์ค ๋ฌธ์๋ช
(C99)
5 <wchar.h> ํค๋ (C99): ํ์ฅ ๋ค์ค๋ฐ์ดํธ / ๋์ ๋ฌธ์ ๋๊ตฌ
6 <wctype.h> ํค๋ (C99): ๋์ ๋ฌธ์ ๋ถ๋ฅ ๋ฐ ์ฌ์ ๋๊ตฌ
26 ๊ธฐํ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ํจ์
1 <stdarg.h> ํค๋: ๊ฐ๋ณ ์
๋ ฅ๋ณ์
2 <stdlib.h> ํค๋: ์ผ๋ฐ ๋๊ตฌ๋ค
3 <time.h> ํค๋: ๋ ์ง์ ์๊ฐ
27 ์ํ ๋ถ์ผ C99 ์ถ๊ฐ ์ง์
1 <stdint.h> ํค๋ (C99): ์ ์ํ
2 <inttypes.h> ํค๋ (C99): ์ ์ํ ์์ ๋ณํ
3 ๋ณต์์ (C99)
4 <complex.h> ํค๋ (C99): ๋ณต์์ ์ฐ์
5 <tgmath.h> ํค๋ (C99): ์ผ๋ฐํ ์ํ
6 <fenv.h> ํค๋ (C99): ๊ณ ์ ์์์ ํ๊ฒฝ
๋ถ๋ก A C ์ฐ์ฐ์
๋ถ๋ก B C99 ๋ C89
๋ถ๋ก C C89 ๋ K & R C
๋ถ๋ก D ํ์ค ๋ผ์ด๋ธ๋ฌ๋ฆฌ ํจ์๋ค
๋ถ๋ก E ASCII ๋ฌธ์ ์งํฉ
์์ธ
์ฐธ๊ณ ๋ฌธํ |
| Markdown | ๋ชฉ์ฐจ๋ณด๊ธฐ
Show
Hide
[**C ํ๋ก๊ทธ๋๋ฐ: ํ๋์ ์ ๊ทผ**](https://wikidocs.net/book/2494)
[00 ์๋ก ]() [01 C ์
๋ฌธ]() [1 C์ ์ญ์ฌ]() [2 ์ฅ์ ๊ณผ ๋จ์ ]() [Q & A]() [02 C ๊ธฐ์ด]() [1 ๊ฐ๋จํ ํ๋ก๊ทธ๋จ ์ง๊ธฐ]() [2 ๊ฐ๋จํ ํ๋ก๊ทธ๋จ์ ์ผ๋ฐ์ ์ธ ๊ตฌ์กฐ]() [3 ์ฃผ์]() [4 ๋ณ์์ ํ ๋น]() [5 ์
๋ ฅ๊ฐ ์ฝ๊ธฐ]() [6 ์์ ์ด๋ฆ ์ ์ํ๊ธฐ]() [7 ์๋ณ์]() [8 C ํ๋ก๊ทธ๋จ์ ๋ ์ด์์]() [Q & A]() [03 ์์ ์
์ถ๋ ฅ]() [1 printf ํจ์]() [2 scanf ํจ์]() [Q & A]() [04 ํํ์]() [1 ์ฐ์ ์ฐ์ฐ์]() [2 ํ ๋น์ฐ์ฐ์]() [3 ์ฆ๊ฐ์ฐ์ฐ์]() [4 ํํ์ ํ๊ฐ]() [5 ํํ๋ฌธ]() [Q & A]() [05 ์ ํ๋ฌธ]() [1 ๋
ผ๋ฆฌํํ์]() [2 if๋ฌธ]() [3 switch๋ฌธ]() [Q & A]() [06 ๋ฃจํ]() [1 while๋ฌธ]() [2 do๋ฌธ]() [3 for๋ฌธ]() [4 ๋ฃจํ์์ ๋ฒ์ด๋๊ธฐ]() [5 null๋ฌธ]() [Q & A]() [07 ๊ธฐ๋ณธํ]() [1 ์ ์ํ]() [2 ์์ํ]() [3 ๋ฌธ์ํ]() [4 ํ๋ณํ]() [5 ํ์ ์]() [6 sizeof ์ฐ์ฐ์]() [Q & A]() [08 ๋ฐฐ์ด]() [1 1์ฐจ์ ๋ฐฐ์ด]() [2 ๋ค์ฐจ์ ๋ฐฐ์ด]() [3 ๊ฐ๋ณํฌ๊ธฐ ๋ฐฐ์ด (C99)]() [Q & A]() [09 ํจ์]() [1 ํจ์ ์ ์ ๋ฐ ํธ์ถ]() [2 ํจ์ ์ ์ธ]() [3 ์
๋ ฅ๋ณ์]() [4 return๋ฌธ]() [5 ํ๋ก๊ทธ๋จ ์ข
๋ฃ]() [6 ์ฌ๊ท]() [Q & A]() [10 ํ๋ก๊ทธ๋จ ์ค๊ณ]() [1 ์ง์ญ๋ณ์]() [2 ์ธ๋ถ๋ณ์]() [3 ๋ธ๋ก]() [4 ์ค์ฝํ]() [5 C ํ๋ก๊ทธ๋จ ์ค๊ณํ๊ธฐ]() [Q & A]() [11 ํฌ์ธํฐ]() [1 ํฌ์ธํฐ ๋ณ์]() [2 ์ฃผ์ ๋ฐ ์ฐธ์กฐ ์ฐ์ฐ์]() [3 ํฌ์ธํฐ ํ ๋น]() [4 ์
๋ ฅ๋ณ์๋ก์ ํฌ์ธํฐ]() [5 ๋ฐํ๊ฐ์ผ๋ก์ ํฌ์ธํฐ]() [Q & A]() [12 ํฌ์ธํฐ์ ๋ฐฐ์ด]() [1 ํฌ์ธํฐ ์ฐ์ ]() [2 ํฌ์ธํฐ๋ฅผ ํตํ ๋ฐฐ์ด์ฒ๋ฆฌ]() [3 ๋ฐฐ์ด ์ด๋ฆ ํฌ์ธํฐ๋ก์ ์ฐ๊ธฐ]() [4 ๋ค์ฐจ์ ๋ฐฐ์ด์ ์ด๋ฆ ํฌ์ธํฐ๋ก์ ์ฐ๊ธฐ (C99)]() [5 ํฌ์ธํฐ์ ๊ฐ๋ณํฌ๊ธฐ ๋ฐฐ์ด (C99)]() [Q & A]() [13 ๋ฌธ์์ด]() [1 ๋ฌธ์์ด ๋ฆฌํฐ๋ด]() [2 ๋ฌธ์์ด ๋ณ์]() [3 ๋ฌธ์์ด ์ฝ๊ณ ์ฐ๊ธฐ]() [4 ๋ฌธ์์ด์ ๋ฌธ์ ์ ๊ทผํ๊ธฐ]() [5 C ๋ฌธ์์ด ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ฌ์ฉํ๊ธฐ]() [6 ๋ฌธ์์ด ๊ด์ฉ๊ตฌ]() [7 ๋ฌธ์์ด ๋ฐฐ์ด]() [Q & A]() [14 ์ ์ฒ๋ฆฌ๊ธฐ]() [1 ์ ์ฒ๋ฆฌ๊ธฐ ์๋ ๋ฐฉ์]() [2 ์ ์ฒ๋ฆฌ ์ง์์]() [3 ๋งคํฌ๋ก ์ ์]() [4 ์กฐ๊ฑด๋ถ ์ปดํ์ผ]() [5 ๊ธฐํ ์ง์์]() [Q & A]() [15 ๋๊ท๋ชจ ํ๋ก๊ทธ๋จ ์์ฑ๋ฒ]() [1 ์์ค ํ์ผ]() [2 ํค๋ํ์ผ]() [3 ํ๋ก๊ทธ๋จ ์ฌ๋ฌ ํ์ผ๋ก ๋๋๊ธฐ]() [4 ๋ค์ค ํ์ผ ํ๋ก๊ทธ๋จ ๋น๋ํ๋ ๋ฒ]() [Q & A]() [16 ๊ตฌ์กฐ์ฒด, ๊ณต์ฉ์ฒด, ์ด๊ฑฐํ]() [1 ๊ตฌ์กฐ์ฒด ๋ณ์]() [2 ๊ตฌ์กฐ์ฒดํ]() [3 ๋ด๋ถ ๋ฐฐ์ด๊ณผ ๊ตฌ์กฐ์ฒด]() [4 ๊ณต์ฉ์ฒด]() [5 ์ด๊ฑฐํ]() [Q & A]() [17 ํฌ์ธํฐ ๊ณ ๊ธ]() [1 ๋์ ๋ฉ๋ชจ๋ฆฌ ํ ๋น]() [2 ๋์ ํ ๋น ๋ฌธ์์ด]() [3 ๋์ ํ ๋น๋ ๋ฐฐ์ด]() [4 ๋ฉ๋ชจ๋ฆฌ ํด์ ]() [5 ๋งํฌ๋ ๋ฆฌ์คํธ]() [6 ํฌ์ธํฐ์ ํฌ์ธํฐ]() [7 ํจ์ ํฌ์ธํฐ]() [8 ์ ํ ํฌ์ธํฐ (C99)]() [9 ์ ๋์ ๋ฐฐ์ด ๋ฉค๋ฒ(C99)]() [Q & A]() [18 ์ ์ธ]() [1 ์ ์ธ ๋ฌธ๋ฒ]() [2 ์ ์ฅ ํด๋์ค]() [3 ํํ์ ์]() [4 ์ ์ธ์]() [5 ์ด๊ธฐ์]() [6 ์ธ๋ผ์ธ ํจ์ (C99)]() [Q & A]() [19 ํ๋ก๊ทธ๋จ ์ค๊ณ]() [1 ๋ชจ๋]() [2 ์ ๋ณด ์จ๊ธฐ๊ธฐ]() [3 ์ถ์ ์๋ฃํ]() [4 ์คํ ์ถ์ ์๋ฃํ]() [5 ์ถ์ ์๋ฃํ์ ์ค๊ณ ๋ฌธ์ ]() [Q & A]() [20 ์ ์์ค ํ๋ก๊ทธ๋๋ฐ]() [1 ๋นํธ ์ฐ์ฐ์]() [2 ๊ตฌ์กฐ์ฒด์์ ๋นํธํ๋]() [3 ๋ค๋ฅธ ์ ์์ค ๊ธฐ์ ๋ค]() [Q & A]() [21 ํ์ค ๋ผ์ด๋ธ๋ฌ๋ฆฌ]() [1 ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ฌ์ฉํ๊ธฐ]() [2 C89 ๋ผ์ด๋ธ๋ฌ๋ฆฌ ๊ฐ์]() [3 C99 ๋ผ์ด๋ธ๋ฌ๋ฆฌ ๋ณ๊ฒฝ์ฌํญ]() [4 \<stddef.h\> ํค๋: ์์ฃผ ์ฌ์ฉํ๋ ์ ์๋ค]() [5 \<stdbool.h\> ํค๋ (C99): ๋ถ๋ฆฌ์ธํ๊ณผ ๊ฐ]() [22 ์
์ถ๋ ฅ]() [1 ์คํธ๋ฆผ]() [2 ํ์ผ ์ฐ์ฐ]() [3 ์์ ์
์ถ๋ ฅ]() [4 ๋ฌธ์ ์
์ถ๋ ฅ]() [5 ์ค ์
์ถ๋ ฅ]() [6 ๋ธ๋ก ์
์ถ๋ ฅ]() [7 ํ์ผ ์์น]() [8 ๋ฌธ์์ด ์
์ถ๋ ฅ]() [23 ์ซ์์ ๋ฌธ์ ์๋ฃ์ ๋ํ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ง์์ฌํญ]() [1 \<float.h\> ํค๋: ๊ณ ์ ์์์ ํ์ ํน์ง]() [2 \<limits.h\> ํค๋: ์ ์ํ์ ํฌ๊ธฐ]() [3 \<math.h\> ํค๋ (C89): ์ํ]() [4 \<math.h\> ํค๋ (C89): ์ํ]() [5 \<ctype.h\> ํค๋: ๋ฌธ์ ์ฒ๋ฆฌ]() [6 \<string.h\> ํค๋: ๋ฌธ์์ด ์ฒ๋ฆฌ]() [24 ์ค๋ฅ ์ฒ๋ฆฌ]() [1 \<assert.h\> ํค๋: ์ง๋จ]() [2 \<errno.h\> ํค๋: ์ค๋ฅ]() [3 \<signal.h\> ํค๋: ์ ํธ ์ฒ๋ฆฌ]() [4 \<setjmp.h\> ํค๋: ๋น๋
ผ๋ฆฌ์ ๋์ฝ]() [25 ๊ตญ์ ์ ๊ธฐ๋ฅ]() [1 \<locale.h\> ํค๋: ์ง์ญํ]() [2 ๋ค์ค๋ฐ์ดํธ ๋ฌธ์์ ๋์ ๋ฌธ์]() [3 ์ด์ค๊ธ์์ ์ผ์ค๊ธ์]() [4 ์ ๋๋ฒ์ค ๋ฌธ์๋ช
(C99)]() [5 \<wchar.h\> ํค๋ (C99): ํ์ฅ ๋ค์ค๋ฐ์ดํธ / ๋์ ๋ฌธ์ ๋๊ตฌ]() [6 \<wctype.h\> ํค๋ (C99): ๋์ ๋ฌธ์ ๋ถ๋ฅ ๋ฐ ์ฌ์ ๋๊ตฌ]() [26 ๊ธฐํ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ํจ์]() [1 \<stdarg.h\> ํค๋: ๊ฐ๋ณ ์
๋ ฅ๋ณ์]() [2 \<stdlib.h\> ํค๋: ์ผ๋ฐ ๋๊ตฌ๋ค]() [3 \<time.h\> ํค๋: ๋ ์ง์ ์๊ฐ]() [27 ์ํ ๋ถ์ผ C99 ์ถ๊ฐ ์ง์]() [1 \<stdint.h\> ํค๋ (C99): ์ ์ํ]() [2 \<inttypes.h\> ํค๋ (C99): ์ ์ํ ์์ ๋ณํ]() [3 ๋ณต์์ (C99)]() [4 \<complex.h\> ํค๋ (C99): ๋ณต์์ ์ฐ์ ]() [5 \<tgmath.h\> ํค๋ (C99): ์ผ๋ฐํ ์ํ]() [6 \<fenv.h\> ํค๋ (C99): ๊ณ ์ ์์์ ํ๊ฒฝ]() [๋ถ๋ก A C ์ฐ์ฐ์]() [๋ถ๋ก B C99 ๋ C89]() [๋ถ๋ก C C89 ๋ K & R C]() [๋ถ๋ก D ํ์ค ๋ผ์ด๋ธ๋ฌ๋ฆฌ ํจ์๋ค]() [๋ถ๋ก E ASCII ๋ฌธ์ ์งํฉ]() [์์ธ]() [์ฐธ๊ณ ๋ฌธํ]()
1. [**C ํ๋ก๊ทธ๋๋ฐ: ํ๋์ ์ ๊ทผ**](https://wikidocs.net/book/2494)
2. [15 ๋๊ท๋ชจ ํ๋ก๊ทธ๋จ ์์ฑ๋ฒ](https://wikidocs.net/101938)
3. [4 ๋ค์ค ํ์ผ ํ๋ก๊ทธ๋จ ๋น๋ํ๋ ๋ฒ](https://wikidocs.net/101942)
1. [์ํค๋
์ค](https://wikidocs.net/)
# 4 ๋ค์ค ํ์ผ ํ๋ก๊ทธ๋จ ๋น๋ํ๋ ๋ฒ
2\.1 ๋จ์์์ ํ๋์ ํ์ผ๋ก ๊ตฌ์ฑ๋ ํ๋ก๊ทธ๋จ์ ์ปดํ์ผํ๊ณ ๋งํฌํ๋ ์ ์ฐจ๋ฅผ ์ดํด๋ดค์๋ค. ์ด์ ์ด๊ฑธ ์ข ๋ ํ์ฅํด์ ์ฌ๋ฌ ํ์ผ์ ๊ฐ๋ ํ๋ก๊ทธ๋จ์ ๋ค๋ค๋ณด๋๋ก ํ์. ํฐ ํ๋ก๊ทธ๋จ์ ๋น๋ํ๋ ๊ฑด ์์ ๊ฑธ ๋น๋ํ ๋์ ๊ฐ์ ๊ธฐ๋ณธ์ ์ธ ๋จ๊ณ๋ค์ ๊ฑฐ์ณ์ผ ํ๋ค:
- **์ปดํ์ผ**. ํ๋ก๊ทธ๋จ์ ๊ฐ ์์ค ํ์ผ๋ค์ ๋
๋ฆฝ์ ์ผ๋ก ์ปดํ์ผ๋์ด์ผ ํ๋ค. (ํค๋ ํ์ผ์ ์ปดํ์ผํ ํ์๊ฐ ์๋ค; ํค๋ ํ์ผ์ ์ถ๊ฐํ ์์ค ์ฝ๋์์ ์๋์ผ๋ก ์ปดํ์ผ๋๊ธฐ ๋๋ฌธ์ด๋ค) ๊ฐ ์์ค ํ์ผ๋ง๋ค ์ปดํ์ผ๋ฌ๋ ๋ชฉ์ ์ฝ๋๋ฅผ ํฌํจํ๋ ํ์ผ์ ์์ฑํ๋ค. **๋ชฉ์ ํ์ผobject file**์ด๋ผ๊ณ ๋ ๋ถ๋ฅด๋ ์ด ํ์ผ๋ค์ UNIX์์๋ `.o` ํ์ฅ์๋ฅผ, Windows์์๋ `.obj` ํ์ฅ์๋ฅผ ๊ฐ๋๋ค.
- **๋งํฌ**. ๋ง์ปค๋ ์ ๋จ๊ณ์์ ์์ฑํ ๋ชฉ์ ํ์ผ์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ํจ์๋ฅผ ์ํ ์ฝ๋์ ์ฐ๊ฒฐํด์ฃผ์ด ์คํ ๊ฐ๋ฅํ ํ์ผ์ ์์ฑํ๋ค. ๋ง์ปค์ ๋ํ์ ์ธ ์๋ฌด๋ก๋ ์ปดํ์ผ๋ฌ๊ฐ ํด๊ฒฐํ์ง ์์ ์ธ๋ถ ์ฐธ์กฐ๋ฅผ ํด๊ฒฐํ๋ ๊ฒ์ด๋ค. (์ธ๋ถ ์ฐธ์กฐ๋ ํ ํ์ผ์ ์๋ ํจ์๊ฐ ๋ค๋ฅธ ํ์ผ์ ์ ์๋ ํจ์๋ฅผ ํธ์ถํ๊ฑฐ๋ ๋ณ์์ ์ ๊ทผํ ๋ ๋ฐ์ํ๋ค)
๋๋ถ๋ถ์ ์ปดํ์ผ๋ฌ๋ ํ ๋ฒ์ ํ๋ก๊ทธ๋จ์ ๋น๋ํ ์ ์๊ฒ ํด์ค๋ค. GCC ์ปดํ์ผ๋ฌ์ ๊ฒฝ์ฐ 15.3 ๋จ์์ `justify` ํ๋ก๊ทธ๋จ์ ๋ค์ ๋ช
๋ น์ด๋ก ๋น๋ํ ์ ์๋ค.:
```
gcc -o justify justify.c line.c word.c
```
์ด ์ธ ๊ฐ์ง ์์ค ํ์ผ์ ์ฐ์ ๋ชฉ์ ์ฝ๋๋ก ์ปดํ์ผ์ด ๋๋ค. ์ด ๋ชฉ์ ํ์ผ๋ค์ ์ดํ ์๋์ผ๋ก ๋ง์ปค์๊ฒ ๋๊ฒจ์ ธ์ ํ๋์ ํ์ผ๋ก ํฉ์ณ์ง๊ฒ ๋๋ค. `-o` ์ค์ ์ด ๋ฐ๋ก `justify`๋ผ๋ ์ด๋ฆ์ ์คํ ํ์ผ์ ๋ง๋ค์ด๋ฌ๋ผ๋ ์๋ฏธ์ด๋ค.
## ๋ฉ์ดํฌํ์ผ
๋ช
๋ น ์ค์ ๋ชจ๋ ์์ค ํ์ผ์ ์ ๋ ๊ฒ์ ๋งค์ฐ ์ง๋ฃจํ ์์
์ด๋ค. ๊ฑฐ๊ธฐ์๋ค ํ๋ก๊ทธ๋จ์ ๋ค์ ๊ตฌ์ถํด์ผ ํ ๊ฒฝ์ฐ ์ต๊ทผ ์์ ์ฌํญ์ด ์๋ ์์ค ํ์ผ์ ํฌํจํ ๋ชจ๋ ์์ค ํ์ผ์ ๋ค์ ์ปดํ์ผํด์ ์๋นํ ๋ง์ ์๊ฐ์ ๋ญ๋นํ๊ฒ ๋๋ค.
๊ท๋ชจ๊ฐ ํฐ ํ๋ก๊ทธ๋จ์ ์์ฝ๊ฒ ๊ตฌ์ถํ๊ธฐ ์ํด UNIX๋ **๋ฉ์ดํฌํ์ผmakefile**์ด๋ผ๋ ๊ฐ๋
์ ๋ง๋ค์๋ค. ๋ฉ์ดํฌํ์ผ์ด๋ ํ๋ก๊ทธ๋จ์ ๊ตฌ์ถํ๊ธฐ ์ํ ์ ๋ณด๋ฅผ ๊ฐ์ง ํ์ผ์ ์๋ฏธํ๋ค. ๋ฉ์ดํฌํ์ผ์ ๋จ์ํ ํ๋ก๊ทธ๋จ์ ์ผ๋ถ์ธ ํ์ผ๋ค์ ์๋กํ๊ณ ์์ ๋ฟ๋ง ์๋๋ผ, ํ์ผ ๊ฐ์ **์ข
์์ฑdependencies** ๋ํ ๋ช
์ํด์ค๋ค. `foo.c`๋ผ๋ ํ์ผ์ด `bar.h`๋ผ๋ ํ์ผ์ ์ถ๊ฐํ๊ณ ์๋ค๊ณ ํ์. ๊ทธ๋ฌ๋ฉด `bar.h`์ด ์์ ๋๋ฉด `foo.c`๋ฅผ ๋ค์ ์ปดํ์ผํด์ผ ํ๋ฏ๋ก ์ฐ๋ฆฌ๋ `foo.c`๊ฐ `bar.h`์ "์ข
์๋์ด์๋ค"๊ณ ํ ์ ์์ ๊ฒ์ด๋ค.
๋ค์์ `justify` ํ๋ก๊ทธ๋จ์ ์ํ UNIX๋ฉ์ดํฌํ์ผ์ด๋ค. ์ด ๋ฉ์ดํฌํ์ผ์ GCC๋ฅผ ์ฌ์ฉํ์ฌ ์ปดํ์ผ๊ณผ ๋งํฌ๋ฅผ ํ๋ค:
```
justify: justify.o word.o line.o
gcc -o justify justify.o word.o line.o
justify.o: justify.c word.h line.h
gcc -c justify.c
word.o: word.c word.h
gcc -c word.c
line.o: line.c line.h
gcc -c line.c
```
ํฌ๊ฒ ๋ค ๊ฐ์ง๋ก ๊ตฌ๋ถํ ์ ์์ ๊ฒ์ด๋ค. ์ฌ๊ธฐ์ ๊ฐ ๋ถ๋ถ์ **๊ท์นrule**์ด๋ผ ๋ถ๋ฅธ๋ค. ๊ฐ ๊ท์น์ ์ฒซ ๋ฒ์งธ ์ค์ **๋ชฉํtarget** ํ์ผ์ด ๋ฌด์์ธ์ง๋ฅผ ๋ช
์ํ๋ฉฐ, ๊ทธ ๋ค๋ก ์ข
์์ฑ์ด ์๋ ํ์ผ๋ค์ด ์๋ค. ๋ ๋ฒ์งธ ์ค์ ๋ชฉํ๊ฐ ์ข
์๋์ด์๋ ํ์ผ๋ค์ด ์์ ๋์ด ๋ชฉํ๋ฅผ ์ฌ๊ตฌ์ถํด์ผ ํ ๊ฒฝ์ฐ ์คํํ **๋ช
๋ นcommand**์ด๋ค. ์ฐ์ ์ฒซ ๋ฒ์งธ์ ๋ ๋ฒ์งธ ๊ท์น๋ค์ ๋ณด๋๋ก ํ์; ์ด์ฐจํผ ๋ค์ ๋ ๊ฐ๋ ๋น์ทํ๋ค.
์ฒซ ๋ฒ์งธ ๊ท์น์์ `justify`(์คํ ํ์ผ)๊ฐ ๋ชฉํ๋ค:
```
justify: justify.o word.o line.o
gcc -o justify justify.o word.o line.o
```
์ฒซ ๋ฒ์งธ ์ค์ `justify`๊ฐ `justify.o`, `word.o`, `line.o`๋ผ๋ ํ์ผ์ ์ข
์๋์ด์๋ค๋ ์๋ฏธ์ด๋ค: ํ๋ก๊ทธ๋จ์ด ๊ฐ์ฅ ์ต๊ทผ์ ๊ตฌ์ถ๋์์ ๋ ์ดํ๋ก ์ด ์ธ ํ์ผ ์ค ํ๋๋ผ๋ ๋ณ๊ฒฝ์ฌํญ์ด ์์ผ๋ฉด `justify`๋ ์ฌ๊ตฌ์ถ์ ํด์ผ ํ๋ค. ๋ค์ ์ค์ ๋ช
๋ น์ ์ฌ๊ตฌ์ถ์ ๋ฐฉ์์ ๋ช
์ํด์ค๋ค (์ธ ๋ชฉ์ ํ์ผ์ ๋งํฌํ๋ `gcc` ๋ช
๋ น์ด๋ฅผ ํตํด ์ด๋ฃจ์ด์ง๋ค).
๋ ๋ฒ์งธ ๊ท์น์์๋ `justify.o`๊ฐ ๋ชฉํ๋ค:
```
justify.o: justify.c word.h line.h
gcc -c justify.c
```
์ฒซ ๋ฒ์งธ ์ค์ `justify.c`, `word.h`, `line.h` ์ค ๋๊ตฌ๋ผ๋ ๋ณ๊ฒฝ์ฌํญ์ด ์์ผ๋ฉด `justify.o`๋ฅผ ์ฌ๊ตฌ์ถํด์ผ ํ๋ค๋ ์๋ฏธ์ด๋ค (`word.h`์ `line.h`๊ฐ ๋ฑ์ฅํ๋ ์ด์ ๋ `justify.c`๊ฐ ์ด ๋ ํ์ผ์ ์ถ๊ฐํ๊ณ ์์ผ๋ฏ๋ก ๋ ๋ชจ๋์๊ฒ ์ํฅ์ ๋ฐ๊ธฐ ๋๋ฌธ์ด๋ค). ๋ค์ ์ค์์๋ `justify.o`๋ฅผ ๊ฐฑ์ ํ๋ ๋ฐฉ์( `justify.c`๋ฅผ ์ฌ์ปดํ์ผํ๋ค)์ ๋ช
์ํด์ค๋ค. `-c` ์ต์
์ ์ปดํ์ผ๋ฌ๊ฐ `justify.c`๋ฅผ ๋ชฉ์ ํ์ผ๋ก ์ปดํ์ผํ๋ ๋งํฌ๋ฅผ ํ์ง ๋ง๋ผ๋ ์๋ฏธ์ด๋ค.
์์ ํ๋ก๊ทธ๋จ์ ์ํ ๋ฉ์ดํฌํ์ผ์ ์์ฑํ ์ดํ, `make` ๊ธฐ๋ฅ์ ์ฌ์ฉํ์ฌ ํ๋ก๊ทธ๋จ์ ๊ตฌ์ถ(ํน์ ์ฌ๊ตฌ์ถ)ํ ์ ์๋ค.**\[Q & A\]**. `make`๋ ํ๋ก๊ทธ๋จ์ ๊ฐ ํ์ผ์ ์๊ฐ๊ณผ ๋ ์ง๋ฅผ ํ์ธํ์ฌ ์ด๋ค ํ์ผ์ด ์ต์ ์ด ์๋์ง๋ฅผ ํ๋จํ๋ค. ์ดํ ํ๋ก๊ทธ๋จ ์ฌ๊ตฌ์ถํ๋๋ฐ ํ์ํ ๋ช
๋ น์ ์คํํ๋ค.
`make`๋ฅผ ํ ๋ฒ ์ฌ์ฉํด๋ณด๊ธฐ ์ ์ ๋ช ๊ฐ์ง ์์๋์ด์ผ ํ๋ ์ฌํญ๋ค์ด ์๋ค:
- ๋ฉ์ดํฌํ์ผ์ ๊ฐ ๋ช
๋ น์ ์คํ์ด์ค๊ฐ ์๋, ํญ ๋ฌธ์๋ก ๋์ด ์จ์ฃผ์ด์ผ ํ๋ค. (์ฐ๋ฆฌ์ ์์ ์ ๊ฒฝ์ฐ 8์นธ์ ์คํ์ด์ค๋ก ๋์ด์ฐ๊ธฐ๊ฐ ๋ ๊ฒ์ฒ๋ผ ๋ณด์ด์ง๋ง ์ค์ ๋ก๋ ํ๋์ ํญ ๋ฌธ์๋ค)
- ๋ฉ์ดํฌํ์ผ์ ๋ณดํต `Makefile`(ํน์ `makefile`)์ด๋ผ๋ ์ด๋ฆ์ ํ์ผ์ผ๋ก ์ ์ฅํ๋ค. `make` ๊ธฐ๋ฅ์ ์ฌ์ฉํ๊ฒ ๋๋ฉด ์๋์ผ๋ก ํ์ฌ ๊ฒฝ๋ก์์ ์์์ ์ธ๊ธํ ์ด๋ฆ์ ๊ฐ๋ ํ์ผ์ด ์กด์ฌํ๋์ง๋ฅผ ํ์ธํ๋ค.
- `make`๋ฅผ ์คํํ๋ ค๋ฉด ๋ค์ ๋ช
๋ น์ด๋ฅผ ์คํํ๋ฉด ๋๋ค
```
make target
```
์ฌ๊ธฐ์ *๋ชฉํ*๋ ๋ฉ์ดํฌํ์ผ์ ์๋ก๋ ๋ชฉํ ์ค ํ๋์ด๋ค. ๋ฉ์ดํฌํ์ผ๋ก `justify` ์คํ ํ์ผ์ ๊ตฌ์ถํ๊ธฐ ์ํด์๋ ๋ค์ ๋ช
๋ น์ ์ฌ์ฉํ๋ฉด ๋๋ค
```
make justify
```
- `make`๋ฅผ ์คํํ ๋ ํน์ ๋ชฉํ๋ฅผ ๋ช
์ํ์ง ์์๋ค๋ฉด ์ฒซ ๋ฒ์งธ ๊ท์น์ ๋ชฉํ๋ฅผ ๊ตฌ์ถํ ๊ฒ์ด๋ค. ์๋ฅผ ๋ค์ด ๋ช
๋ น
```
make
```
๋ `justify`๊ฐ ๋ฉ์ดํฌํ์ผ์ ์ฒซ ๋ฒ์งธ ๋ชฉํ์ด๊ธฐ ๋๋ฌธ์ `justify` ์คํ ํ์ผ์ ๊ตฌ์ถํ ๊ฒ์ด๋ค. ์ด๋ฌํ ์ฒซ ๋ฒ์งธ ๊ท์น์ด ๊ฐ๋ ์์ธ์ ์ธ ์์ฑ ์ธ๋ก, ๋ฉ์ดํฌํ์ผ์ ๋๋จธ์ง ๊ท์น๋ค์ ์คํ ์์๋ ์์๋ก ์ ํด์ง๋ค.
`make`๋ `make` ํ๋๋ง ๋ค๋ฃจ๋ ์ฑ
์ด ์ฐ์ผ ์ ๋๋ก ๋ณต์กํ๋ฏ๋ก, ๋ณต์กํ ๋ถ๋ถ๊น์ง ๋ค๋ฃจ์ง ์๋๋ก ํ๊ฒ ๋ค. ์ค์ ๋ฉ์ดํฌํ์ผ์ ์ฐ๋ฆฌ์ ์์ ์ฒ๋ผ ๊ฐ๋จํ์ง ์๋ค๊ณ ๋ง ํ๊ฒ ๋ค. ๋ฉ์ดํฌํ์ผ ๋ด์ ์ค๋ณต์ ์ค์ด๊ณ ์์ ์ ์ฝ๊ฒ ๋ง๋๋ ์ฌ๋ฌ ๊ธฐ์ ์ด ์๋ค: ๋ฌผ๋ก ์ด๋ฐ ๊ธฐ์ ๋ค์ ๊ฐ๋
์ฑ ๋ํ ์๋นํ ๋ฎ์ถ๊ฒ ๋๋ค.
๋ชจ๋ ์ฌ๋์ด ๋ฉ์ดํฌํ์ผ์ ์ฌ์ฉํ๋ ๊ฒ์ ์๋๋ค. ๋ช๋ช ํตํฉ๊ฐ๋ฐํ๊ฒฝ์์ ์ง์ํ๋ "ํ๋ก์ ํธ ํ์ผ"๊ณผ ๊ฐ์ด ๋ค๋ฅธ ํ๋ก๊ทธ๋จ ์ ์ง๋ณด์ ๋๊ตฌ๋ค ๋ํ ์ ๋ช
ํ๋ค.
## ๋งํฌ ์ค ์๋ฌ
์ปดํ์ผ ๋ ๊ฒ์ถํ์ง ๋ชปํ ๋ช๋ช ์ค๋ฅ๋ค์ ๋งํฌํ ๋ ๊ฒ์ถ๋๊ธฐ๋ ํ๋ค. ํนํ ํ๋ก๊ทธ๋จ ๋ด์ ์ด๋ค ํจ์๋ ๋ณ์์ ์ ์๊ฐ ์๋ต๋์ด์์ ๊ฒฝ์ฐ, ๋ง์ปค๋ ํด๋น ์ธ๋ถ ์ฐธ์กฐ๋ฅผ ํด๊ฒฐํ ์ ์์ด "*๋ฏธ์ ์๋ ๊ธฐํธundefined symbol*" ํน์ "*๋ฏธ์ ์๋ ์ฐธ์กฐundefined reference*"์ ๊ฐ์ ๋ฉ์์ง๋ฅผ ์ถ๋ ฅํ๋ค.
๋ง์ปค์์ ๊ฒ์ถํ ์ค๋ฅ๋ ๋ณดํต ํด๊ฒฐํ๊ธฐ ์ฌ์ด ํธ์ด๋ค. ๋ค์์ ํํ ์ค๋ฅ ์์ธ์ด๋ค:
- ***์คํ***. ๋ง์ฝ ๋ณ์ ํน์ ํจ์์ ์ด๋ฆ์ ์คํ๊ฐ ์์ผ๋ฉด ๋ง์ปค๋ ์ด๋ฅผ ์ฐพ์ ์ ์๋ค๊ณ ๊ฐ์ฃผํ๋ค. ์๋ฅผ ๋ค์ด `read_char`๋ผ๋ ํจ์๋ฅผ ์ ์ํด๋๊ณ `read_cahr`๋ก ํธ์ถํ ๊ฒฝ์ฐ, ๋ง์ปค๋ `read_cahr`๊ฐ ์กด์ฌํ์ง ์๋๋ค๊ณ ๋ณด๊ณ ํ๋ค.
- ***๋๋ฝ๋ ํ์ผ***. ๋ง์ปค๊ฐ `foo.c` ํ์ผ ์์ ์๋ ํจ์๋ค์ ์ฐพ์ง ๋ชปํ๋ค๋ฉด, ์์ ๊ทธ ํ์ผ ์์ฒด๋ฅผ ๋ชป ์ฐพ๋ ๊ฒ์ผ ์๋ ์๋ค. ๋ฉ์ดํฌํ์ผ ํน์ ํ๋ก์ ํธ ํ์ผ์ ํ์ธํ์ฌ `foo.c`์ด ๋๋ฝ๋์ด์๋์ง ํ์ธํ๋ผ.
- ***๋๋ฝ๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ***. ๋ง์ปค๋ ํ๋ก๊ทธ๋จ์์ ์ฌ์ฉ๋ ๋ชจ๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ํจ์๋ค์ ์ฐพ์ง ๋ชปํ ์๋ ์๋ค. ๋ํ์ ์ธ ์์๋ก๋ `<math.h>` ํค๋๋ฅผ ์ฌ์ฉํ๋ UNIX ํ๋ก๊ทธ๋จ์ด ์๋ค. ๋จ์ํ ํ๋ก๊ทธ๋จ์ ํค๋๋ฅผ ์ถ๊ฐํด์ฃผ๋ ๊ฒ์ผ๋ก ์ถฉ๋ถํ์ง ์์ ๋๊ฐ ์๋ค: ์๋ง์ UNIX ๋ณํ๋ค์ ํ๋ก๊ทธ๋จ์ ๋งํฌํ ๋ `-lm` ์ต์
์ ๋ช
์ํด์ฃผ์ด ์ปดํ์ผ๋ `<math.h>` ํจ์๋ค์ ํฌํจํ๋ ์์คํ
ํ์ผ๋ค์ ํ์ํ๊ฒ ํด์ค๋ค. ์ด๋ฌํ ์ต์
์ ์ฌ์ฉํ์ง ์์ ์ ๋งํฌ ๋์ค "๋ฏธ์ ์๋ ์ฐธ์กฐ"๋ฅผ ์ผ๊ธฐํ ์ ์๋ค.
## ํ๋ก๊ทธ๋จ ์ฌ๋น๋ํ๊ธฐ
ํ๋ก๊ทธ๋จ ๊ฐ๋ฐ ๋์ค์ ๋ชจ๋ ํ์ผ์ ์ปดํ์ผํ๋ ๊ฒ์ ์๊ฐ๋ณด๋ค ํํ๊ฒ ๋ฐ์ํ๋ ์ผ์ ์๋๋ค. ๋๋ถ๋ถ์ ๊ฒฝ์ฐ ํ๋ก๊ทธ๋จ์ ํ
์คํธํ๊ณ , ์ฝ๊ฐ์ ๋ณํ๋ฅผ ์ฃผ๊ณ , ํ๋ก๊ทธ๋จ์ ๋ค์ ๊ตฌ์ถํ๋ค. ์๊ฐ์ ์ ์ฝํ๊ธฐ ์ํด ์ฌ๊ตฌ์ถ ๊ณผ์ ์ ์ค๋ก์ง ์ต๊ทผ ๋ณ๊ฒฝ ์ฌํญ์ ํด๋นํ๋ ํ์ผ๋ค๋ง ์ฌ์ปดํ์ผํด์ผ ํ๋ค.
์ฐ๋ฆฌ๊ฐ 15.3ํญ์์ ๊ฐ์กฐํ ๋ฐฉ๋ฒ์ผ๋ก ๊ฐ ์์ค ํ์ผ๋ง๋ค ํค๋ ํ์ผ์ ๋ถ๋ฆฌํ์ฌ ํ๋ก๊ทธ๋จ์ ์ค๊ณํ๋ค๊ณ ํ๋ค. ๋ณํ๋ฅผ ์ค ์ดํ ์ฌ์ปดํ์ผํด์ผ ํ๋ ํ์ผ์ด ๋ช ๊ฐ์ธ์ง๋ฅผ ๋ณด๊ธฐ ์ํด์๋ ๋ ๊ฐ์ง ๊ฒฝ์ฐ๋ฅผ ๊ณ ๋ คํด์ผ ํ๋ค.
์ฒซ ๋ฒ์งธ ๊ฒฝ์ฐ๋ ๋ณํ๊ฐ ์ค๋ก์ง ํ ์์ค ํ์ผ์๋ง ์ํฅ์ ์ฃผ๋ ๊ฒฝ์ฐ๋ค. ์ด ๊ฒฝ์ฐ ํด๋น ํ์ผ๋ง ์ฌ์ปดํ์ผ ๋์ด์ผ ํ๋ค. (๋ฌผ๋ก , ์ดํ์ ๋ชจ๋ ํ๋ก๊ทธ๋จ์ ์ฌ๋งํฌ๋ฅผ ํด์ฃผ์ด์ผ ํ๋ค.) `justify` ํ๋ก๊ทธ๋จ์ ๊ฒฝ์ฐ `word.c`์ `read_char` ํจ์๋ฅผ ๋ค์๊ณผ ๊ฐ์ด ์์ถํ๋ค๊ณ ํ์(๋ณ๋ ์ฌํญ์ **๋ณผ๋์ฒด**๋ก ํ์ํด๋์๋ค):
```
int read_char(void)
{
int ch = getchar();
return (ch == '\n' || ch == '\t') ? ' ' : ch;
}
```
์ด ์์ ์ฌํญ์ `word.h`์ ์ํฅ์ ์ฃผ์ง๋ ์์ผ๋ฏ๋ก `word.c`๋ง ์ฌ์ปดํ์ผํ๊ณ ํ๋ก๊ทธ๋จ์ ์ฌ๋งํฌ๋ง ํด์ฃผ๋ฉด ๋๋ค.
๋ ๋ฒ์งธ ๊ฒฝ์ฐ๋ ํ ํค๋ ํ์ผ์ ์์ ์ฌํญ์ด ์์ ๊ฒฝ์ฐ๋ค. ์ด ๊ฒฝ์ฐ ํด๋น ํค๋ ํ์ผ์ ์ถ๊ฐํ ๋ชจ๋ ํ์ผ์ ์ด ์์ ์ฌํญ์ ์ํฅ์ ๋ฐ์ ์ ์์ผ๋ฏ๋ก ๋ชจ๋ ์ฌ์ปดํ์ผํด์ผ ํ๋ค. (๋ช๋ช์ ์ํฅ์ ์ ๋ฐ์ ์ ์์ผ๋, ๊ทธ๋๋ ๋ณด์์ ์ผ๋ก ์ ๊ทผํ๋ ๊ฒ์ ๊ถ์ฅํ๋ค)
์์๋ก `justify` ํ๋ก๊ทธ๋จ์ `read_word` ํจ์๋ฅผ ๋ณด์. `main`์ `read_word`๋ฅผ ํธ์ถํ ๋ค์ `strlen`๋ฅผ ๋ฐ๋ก ํธ์ถํ์ฌ ์ฝ์ ๋จ์ด์ ๊ธธ์ด๋ฅผ ๊ตฌํ๋ค. `read_word`๊ฐ ์ด๋ฏธ ๋จ์ด์ ๊ธธ์ด๋ฅผ ์๊ธฐ ๋๋ฌธ์ (`read_word`์ `pos` ๋ณ์๊ฐ ๋จ์ด์ ๊ธธ์ด์ด๋ค.) `strlen`์ ๊ตณ์ด ์จ์ค ํ์๊ฐ ์์ด ๋ณด์ธ๋ค. `read_word`๊ฐ ๋จ์ด์ ๊ธธ์ด๋ฅผ ๋ฐํํ๊ฒ ํ ๊ฒ ์์ ํ๊ธฐ๋ ์ฝ๋ค. ์ฐ์ `word.h`์ `read_word`์ ์ํ์ ๋ฐ๊ฟ์ฃผ๊ธฐ๋ง ํ๋ฉด ๋๋ค:
```
/**********************************************************
* read_word: ์
๋ ฅ์ ๋ค์ ๋จ์ด๋ฅผ ์ฝ๊ณ word์ ์ ์ฅํ๋ค. ๋ง์ฝ ํ์ผ *
* ๋ ๋๋ฌธ์ ๋ ์ฝ์ ์๊ฐ ์์ผ๋ฉด word๋ฅผ ๋น์์ค๋ค. ๋ง์ฝ *
* ๊ธธ์ด๊ฐ len์ ์ด๊ณผํ ๊ฒฝ์ฐ word๋ฅผ ์ค๊ฐ์ ์๋ผ์ค๋ค. *
* ์ ์ฅ๋ ๋ฌธ์์ ๊ฐ์๋ฅผ ๋ฐํํด์ค๋ค. *
**********************************************************/
int read_word(char* word, int len);
```
๋น์ฐํ `read_word`์ ์ฃผ์ ๋ถ๋ถ์ ๋ฐ๊ฟ์ฃผ์๋ค. ๋ค์์ `word.c`์ `read_word`์ ์ ์๋ฅผ ๋ฐ๊ฟ๋ณด์:
```
int read_word(char* word, int len)
{
int ch = 0;
int pos = 0;
while ((ch = read_char()) == ' ') {
;
}
while (ch != ' ' && ch != EOF) {
if (pos < len) {
word[pos++] = ch;
}
ch = read_char();
}
word[pos] = '\0';
return pos;
}
```
์ต์ข
์ ์ผ๋ก `justify.c`์์ `<string.h>` ์ถ๊ฐํ ๋ถ๋ถ์ ์ง์์ฃผ์ด `justify.c`๋ฅผ ์์ ํด์ฃผ์ด ๋ค์๊ณผ ๊ฐ์ด `main`์ ์์ ํ์:
```
int main(void)
{
char word[MAX_WORD_LEN + 2];
int word_len;
clear_line();
for (;;) {
word_len = read_word(word, MAX_WORD_LEN+1);
if (word_len == 0) {
flush_line();
return 0;
}
if (word_len > MAX_WORD_LEN) {
word[MAX_WORD_LEN] = '*';
}
if (word_len + 1 > space_remaining()) {
write_line();
clear_line();
}
add_word(word);
}
}
```
์ด๋ ๊ฒ ์์ ํด์ค ๋ค์ `word.c`์ `justify.c`๋ฅผ ์ฌ์ปดํ์ผํ๊ณ ์ฌ๋งํฌํด์ `justify` ํ๋ก๊ทธ๋จ์ ์ฌ๊ตฌ์ถํ๋ค. ๊ตณ์ด `word.h`๋ฅผ ์ถ๊ฐํ์ง ์์ ๋ณ๊ฒฝ์ฌํญ์ด ์๋ `line.c`๋ฅผ ์ฌ์ปดํ์ผํ ํ์๊ฐ ์๋ค. GCC ์ปดํ์ผ๋ฌ๋ฅผ ํตํด์ ํ๋ก๊ทธ๋จ์ ์ฌ๊ตฌ์ถํ๋ ค๋ฉด ๋ค์๊ณผ ๊ฐ์ ๋ช
๋ น์ ์ฌ์ฉํ๋ฉด ๋๋ค:
```
gcc -o justify justify.c word.c line.o
```
`line.c` ๋์ `line.o`๋ฅผ ์ฌ์ฉํ์์ ์ฃผ๋ชฉํ๋ผ.
๋ฉ์ดํฌํ์ผ์ ์ฌ์ฉํ๋ ์ฅ์ ์ค ํ๋๋ ์ฌ๊ตฌ์ถ์ด ์๋์ผ๋ก ์ฒ๋ฆฌ๊ฐ ๋๋ค๋ ๊ฒ์ด๋ค. `make` ๊ธฐ๋ฅ์ ๊ฐ ํ์ผ์ ๋ ์ง๋ฅผ ํ์ธํ์ฌ ํ๋ก๊ทธ๋จ์ ์ต๊ทผ ๊ฐฑ์ ์ดํ ์ด๋ค ํ์ผ์ด ์์ ๋์๋์ง๋ฅผ ํ๋จํ๋ค. ์ดํ ํด๋น ํ์ผ๋ค๊ณผ ์ด์ ์ง์ ์ ์ด๋ ๊ฐ์ ์ ์ด๋ ์ข
์๋ ํ์ผ๋ค์ ๋ชจ๋ ์ฌ์ปดํ์ผํ๋ค. ์๋ฅผ ๋ค์ด `word.h`, `word.c`, `justify.c`์ ์์ ์ฌํญ์ ๋ง๋ค์ด `justify` ํ๋ก๊ทธ๋จ์ ์ฌ๊ตฌ์ถํ ๊ฒฝ์ฐ `make`์ ๋ค์๊ณผ ๊ฐ์ ํ๋์ ํ ๊ฒ์ด๋ค:
1. `justify.c`๋ฅผ ์ปดํ์ผํ์ฌ `justify.o`๋ฅผ ๊ตฌ์ถํ๋ค(`justify.c`์ `word.h`๊ฐ ์์ ๋์๊ธฐ ๋๋ฌธ).
2. `word.c`๋ฅผ ์ปดํ์ผํ์ฌ `word.o`๋ฅผ ๊ตฌ์ถํ๋ค(`word.c`์ `word.h`๊ฐ ์์ ๋์๊ธฐ ๋๋ฌธ).
3. `justify.o`, `word.o`, `line.o`๋ฅผ ๋งํฌํ์ฌ `justify`๋ฅผ ๊ตฌ์ถํ๋ค(`justify.o`์ `word.o`๊ฐ ์์ ๋์๊ธฐ ๋๋ฌธ)
## ํ๋ก๊ทธ๋จ ๋ฐ์์ ๋งคํฌ๋ก ์ ์ํ๊ธฐ
C ์ปดํ์ผ๋ฌ๋ ํ๋ก๊ทธ๋จ์ ์ปดํ์ผํ ๋ ๋งคํฌ๋ก์ ๊ฐ์ ์ ํ ์ ์๋ ๋ฐฉ๋ฒ์ ์ ๊ณตํ๋ค. ์ด ๊ธฐ๋ฅ์ ํตํด ํ๋ก๊ทธ๋จ์ ํ์ผ์ ์์ ํ์ง ์๊ณ ๋ ๋งคํฌ๋ก์ ๊ฐ์ ์์ ํ ์ ์๋ค. ํนํ ๋ฉ์ดํฌํ์ผ๋ก ํ๋ก๊ทธ๋จ์ ์๋์ผ๋ก ๊ตฌ์ถํ ๋ ๊ท์คํ ๋ฐฉ๋ฒ์ด๋ค.
๋๋ถ๋ถ์ ์ปดํ์ผ๋ฌ๋ (GCC ํฌํจ) ๋ช
๋ น ์ค์์ ๋งคํฌ๋ก์ ๊ฐ์ ์ ํ ์ ์๋ `-D` ์ต์
์ ์ง์ํ๋ค:
```
gcc -DDEBUG=1 foo.c
```
์ด ์์์ ๊ฒฝ์ฐ ํ๋ก๊ทธ๋จ `foo.c`์์ `DEBUG` ๋งคํฌ๋ก์ ๊ฐ์ด 1๋ก ์ ์๋๊ฒ ๋๋ค. ์ด๋ ๋ง์น ๋ค์ ์ค์ด `foo.c`์ ์ฒซ ๋ถ๋ถ์ ์กด์ฌํ๋ ๊ฒ๊ณผ ๋์ผํ๋ค.
```
#define DEBUG 1
```
๋ง์ฝ `-D` ์ต์
์ด ๋งคํฌ๋ก๋ฅผ ๊ฐ์ ํฌํจํ์ง ์๊ณ ์ ํ ๊ฒฝ์ฐ ๊ทธ ๊ฐ์ 1์ด ๋๋ค.
๋ง์ ์ปดํ์ผ๋ฌ๋ค์ `-U` ์ต์
์ ํตํด `#undef`๋ฅผ ์ฌ์ฉํ ๊ฒ๊ณผ ๋์ผํ๊ฒ ๋งคํฌ๋ก๋ฅผ "๋ฏธ์ ์" ์์ผ์ค๋ค[1](https://wikidocs.net/101942#footnote_1). `-U`๋ฅผ ํตํด ์ฌ์ ์ ์ ๋งคํฌ๋ก ํน์ ๊ธฐ์กด์ ๋ช
๋ น ์ค์์ `-D`๋ฅผ ํตํด ์ ์ํด์ฃผ์๋ ๋งคํฌ๋ก๋ฅผ ๋ฏธ์ ์ํด์ค ์ ์๋ค.
***
[์ฌ์ ์ ์ ๋งคํฌ๋กpredefined macros \> 14.3](https://wikidocs.net/86264#_8)
๋ง์ง๋ง ํธ์ง์ผ์ : 2021๋
5์ 21์ผ 3:39 ์คํ
[๋๊ธ 0]() [ํผ๋๋ฐฑ](https://wikidocs.net/101942#myModal "ํผ๋๋ฐฑ์ ๋จ๊ฒจ์ฃผ์ธ์")
[โป ๋๊ธ ์์ฑ์ ๋ก๊ทธ์ธ์ด ํ์ํฉ๋๋ค.](https://wikidocs.net/loginForm) [(๋๋ ํผ๋๋ฐฑ์ ์ด์ฉํด ์ฃผ์ธ์.)](https://wikidocs.net/101942#myModal)
- **์ด์ ๊ธ** : [3 ํ๋ก๊ทธ๋จ ์ฌ๋ฌ ํ์ผ๋ก ๋๋๊ธฐ]()
- **๋ค์๊ธ** : [Q & A]()
ร
#### ์ฑ
๊ฐํผ
์ถ๊ฐ
๋ซ๊ธฐ
ร
### ์ด ํ์ด์ง์ ๋ํ ํผ๋๋ฐฑ์ ๋จ๊ฒจ์ฃผ์ธ์
Close
์ ์กํ๊ธฐ
ร
### ๋๊ธ์ ์ ๊ณ ํฉ๋๋ค.
Close
์ ์กํ๊ธฐ |
| Readable Markdown | 00 ์๋ก 01 C ์
๋ฌธ 1 C์ ์ญ์ฌ 2 ์ฅ์ ๊ณผ ๋จ์ Q & A 02 C ๊ธฐ์ด 1 ๊ฐ๋จํ ํ๋ก๊ทธ๋จ ์ง๊ธฐ 2 ๊ฐ๋จํ ํ๋ก๊ทธ๋จ์ ์ผ๋ฐ์ ์ธ ๊ตฌ์กฐ 3 ์ฃผ์ 4 ๋ณ์์ ํ ๋น 5 ์
๋ ฅ๊ฐ ์ฝ๊ธฐ 6 ์์ ์ด๋ฆ ์ ์ํ๊ธฐ 7 ์๋ณ์ 8 C ํ๋ก๊ทธ๋จ์ ๋ ์ด์์ Q & A 03 ์์ ์
์ถ๋ ฅ 1 printf ํจ์ 2 scanf ํจ์ Q & A 04 ํํ์ 1 ์ฐ์ ์ฐ์ฐ์ 2 ํ ๋น์ฐ์ฐ์ 3 ์ฆ๊ฐ์ฐ์ฐ์ 4 ํํ์ ํ๊ฐ 5 ํํ๋ฌธ Q & A 05 ์ ํ๋ฌธ 1 ๋
ผ๋ฆฌํํ์ 2 if๋ฌธ 3 switch๋ฌธ Q & A 06 ๋ฃจํ 1 while๋ฌธ 2 do๋ฌธ 3 for๋ฌธ 4 ๋ฃจํ์์ ๋ฒ์ด๋๊ธฐ 5 null๋ฌธ Q & A 07 ๊ธฐ๋ณธํ 1 ์ ์ํ 2 ์์ํ 3 ๋ฌธ์ํ 4 ํ๋ณํ 5 ํ์ ์ 6 sizeof ์ฐ์ฐ์ Q & A 08 ๋ฐฐ์ด 1 1์ฐจ์ ๋ฐฐ์ด 2 ๋ค์ฐจ์ ๋ฐฐ์ด 3 ๊ฐ๋ณํฌ๊ธฐ ๋ฐฐ์ด (C99) Q & A 09 ํจ์ 1 ํจ์ ์ ์ ๋ฐ ํธ์ถ 2 ํจ์ ์ ์ธ 3 ์
๋ ฅ๋ณ์ 4 return๋ฌธ 5 ํ๋ก๊ทธ๋จ ์ข
๋ฃ 6 ์ฌ๊ท Q & A 10 ํ๋ก๊ทธ๋จ ์ค๊ณ 1 ์ง์ญ๋ณ์ 2 ์ธ๋ถ๋ณ์ 3 ๋ธ๋ก 4 ์ค์ฝํ 5 C ํ๋ก๊ทธ๋จ ์ค๊ณํ๊ธฐ Q & A 11 ํฌ์ธํฐ 1 ํฌ์ธํฐ ๋ณ์ 2 ์ฃผ์ ๋ฐ ์ฐธ์กฐ ์ฐ์ฐ์ 3 ํฌ์ธํฐ ํ ๋น 4 ์
๋ ฅ๋ณ์๋ก์ ํฌ์ธํฐ 5 ๋ฐํ๊ฐ์ผ๋ก์ ํฌ์ธํฐ Q & A 12 ํฌ์ธํฐ์ ๋ฐฐ์ด 1 ํฌ์ธํฐ ์ฐ์ 2 ํฌ์ธํฐ๋ฅผ ํตํ ๋ฐฐ์ด์ฒ๋ฆฌ 3 ๋ฐฐ์ด ์ด๋ฆ ํฌ์ธํฐ๋ก์ ์ฐ๊ธฐ 4 ๋ค์ฐจ์ ๋ฐฐ์ด์ ์ด๋ฆ ํฌ์ธํฐ๋ก์ ์ฐ๊ธฐ (C99) 5 ํฌ์ธํฐ์ ๊ฐ๋ณํฌ๊ธฐ ๋ฐฐ์ด (C99) Q & A 13 ๋ฌธ์์ด 1 ๋ฌธ์์ด ๋ฆฌํฐ๋ด 2 ๋ฌธ์์ด ๋ณ์ 3 ๋ฌธ์์ด ์ฝ๊ณ ์ฐ๊ธฐ 4 ๋ฌธ์์ด์ ๋ฌธ์ ์ ๊ทผํ๊ธฐ 5 C ๋ฌธ์์ด ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ฌ์ฉํ๊ธฐ 6 ๋ฌธ์์ด ๊ด์ฉ๊ตฌ 7 ๋ฌธ์์ด ๋ฐฐ์ด Q & A 14 ์ ์ฒ๋ฆฌ๊ธฐ 1 ์ ์ฒ๋ฆฌ๊ธฐ ์๋ ๋ฐฉ์ 2 ์ ์ฒ๋ฆฌ ์ง์์ 3 ๋งคํฌ๋ก ์ ์ 4 ์กฐ๊ฑด๋ถ ์ปดํ์ผ 5 ๊ธฐํ ์ง์์ Q & A 15 ๋๊ท๋ชจ ํ๋ก๊ทธ๋จ ์์ฑ๋ฒ 1 ์์ค ํ์ผ 2 ํค๋ํ์ผ 3 ํ๋ก๊ทธ๋จ ์ฌ๋ฌ ํ์ผ๋ก ๋๋๊ธฐ 4 ๋ค์ค ํ์ผ ํ๋ก๊ทธ๋จ ๋น๋ํ๋ ๋ฒ Q & A 16 ๊ตฌ์กฐ์ฒด, ๊ณต์ฉ์ฒด, ์ด๊ฑฐํ 1 ๊ตฌ์กฐ์ฒด ๋ณ์ 2 ๊ตฌ์กฐ์ฒดํ 3 ๋ด๋ถ ๋ฐฐ์ด๊ณผ ๊ตฌ์กฐ์ฒด 4 ๊ณต์ฉ์ฒด 5 ์ด๊ฑฐํ Q & A 17 ํฌ์ธํฐ ๊ณ ๊ธ 1 ๋์ ๋ฉ๋ชจ๋ฆฌ ํ ๋น 2 ๋์ ํ ๋น ๋ฌธ์์ด 3 ๋์ ํ ๋น๋ ๋ฐฐ์ด 4 ๋ฉ๋ชจ๋ฆฌ ํด์ 5 ๋งํฌ๋ ๋ฆฌ์คํธ 6 ํฌ์ธํฐ์ ํฌ์ธํฐ 7 ํจ์ ํฌ์ธํฐ 8 ์ ํ ํฌ์ธํฐ (C99) 9 ์ ๋์ ๋ฐฐ์ด ๋ฉค๋ฒ(C99) Q & A 18 ์ ์ธ 1 ์ ์ธ ๋ฌธ๋ฒ 2 ์ ์ฅ ํด๋์ค 3 ํํ์ ์ 4 ์ ์ธ์ 5 ์ด๊ธฐ์ 6 ์ธ๋ผ์ธ ํจ์ (C99) Q & A 19 ํ๋ก๊ทธ๋จ ์ค๊ณ 1 ๋ชจ๋ 2 ์ ๋ณด ์จ๊ธฐ๊ธฐ 3 ์ถ์ ์๋ฃํ 4 ์คํ ์ถ์ ์๋ฃํ 5 ์ถ์ ์๋ฃํ์ ์ค๊ณ ๋ฌธ์ Q & A 20 ์ ์์ค ํ๋ก๊ทธ๋๋ฐ 1 ๋นํธ ์ฐ์ฐ์ 2 ๊ตฌ์กฐ์ฒด์์ ๋นํธํ๋ 3 ๋ค๋ฅธ ์ ์์ค ๊ธฐ์ ๋ค Q & A 21 ํ์ค ๋ผ์ด๋ธ๋ฌ๋ฆฌ 1 ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ฌ์ฉํ๊ธฐ 2 C89 ๋ผ์ด๋ธ๋ฌ๋ฆฌ ๊ฐ์ 3 C99 ๋ผ์ด๋ธ๋ฌ๋ฆฌ ๋ณ๊ฒฝ์ฌํญ 4 \<stddef.h\> ํค๋: ์์ฃผ ์ฌ์ฉํ๋ ์ ์๋ค 5 \<stdbool.h\> ํค๋ (C99): ๋ถ๋ฆฌ์ธํ๊ณผ ๊ฐ 22 ์
์ถ๋ ฅ 1 ์คํธ๋ฆผ 2 ํ์ผ ์ฐ์ฐ 3 ์์ ์
์ถ๋ ฅ 4 ๋ฌธ์ ์
์ถ๋ ฅ 5 ์ค ์
์ถ๋ ฅ 6 ๋ธ๋ก ์
์ถ๋ ฅ 7 ํ์ผ ์์น 8 ๋ฌธ์์ด ์
์ถ๋ ฅ 23 ์ซ์์ ๋ฌธ์ ์๋ฃ์ ๋ํ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ง์์ฌํญ 1 \<float.h\> ํค๋: ๊ณ ์ ์์์ ํ์ ํน์ง 2 \<limits.h\> ํค๋: ์ ์ํ์ ํฌ๊ธฐ 3 \<math.h\> ํค๋ (C89): ์ํ 4 \<math.h\> ํค๋ (C89): ์ํ 5 \<ctype.h\> ํค๋: ๋ฌธ์ ์ฒ๋ฆฌ 6 \<string.h\> ํค๋: ๋ฌธ์์ด ์ฒ๋ฆฌ 24 ์ค๋ฅ ์ฒ๋ฆฌ 1 \<assert.h\> ํค๋: ์ง๋จ 2 \<errno.h\> ํค๋: ์ค๋ฅ 3 \<signal.h\> ํค๋: ์ ํธ ์ฒ๋ฆฌ 4 \<setjmp.h\> ํค๋: ๋น๋
ผ๋ฆฌ์ ๋์ฝ 25 ๊ตญ์ ์ ๊ธฐ๋ฅ 1 \<locale.h\> ํค๋: ์ง์ญํ 2 ๋ค์ค๋ฐ์ดํธ ๋ฌธ์์ ๋์ ๋ฌธ์ 3 ์ด์ค๊ธ์์ ์ผ์ค๊ธ์ 4 ์ ๋๋ฒ์ค ๋ฌธ์๋ช
(C99) 5 \<wchar.h\> ํค๋ (C99): ํ์ฅ ๋ค์ค๋ฐ์ดํธ / ๋์ ๋ฌธ์ ๋๊ตฌ 6 \<wctype.h\> ํค๋ (C99): ๋์ ๋ฌธ์ ๋ถ๋ฅ ๋ฐ ์ฌ์ ๋๊ตฌ 26 ๊ธฐํ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ํจ์ 1 \<stdarg.h\> ํค๋: ๊ฐ๋ณ ์
๋ ฅ๋ณ์ 2 \<stdlib.h\> ํค๋: ์ผ๋ฐ ๋๊ตฌ๋ค 3 \<time.h\> ํค๋: ๋ ์ง์ ์๊ฐ 27 ์ํ ๋ถ์ผ C99 ์ถ๊ฐ ์ง์ 1 \<stdint.h\> ํค๋ (C99): ์ ์ํ 2 \<inttypes.h\> ํค๋ (C99): ์ ์ํ ์์ ๋ณํ 3 ๋ณต์์ (C99) 4 \<complex.h\> ํค๋ (C99): ๋ณต์์ ์ฐ์ 5 \<tgmath.h\> ํค๋ (C99): ์ผ๋ฐํ ์ํ 6 \<fenv.h\> ํค๋ (C99): ๊ณ ์ ์์์ ํ๊ฒฝ ๋ถ๋ก A C ์ฐ์ฐ์ ๋ถ๋ก B C99 ๋ C89 ๋ถ๋ก C C89 ๋ K & R C ๋ถ๋ก D ํ์ค ๋ผ์ด๋ธ๋ฌ๋ฆฌ ํจ์๋ค ๋ถ๋ก E ASCII ๋ฌธ์ ์งํฉ ์์ธ ์ฐธ๊ณ ๋ฌธํ |
| Shard | 8 (laksa) |
| Root Hash | 5080710280345510808 |
| Unparsed URL | net,wikidocs!/101942 s443 |