๐Ÿ•ท๏ธ Crawler Inspector

URL Lookup

Direct Parameter Lookup

Raw Queries and Responses

1. Shard Calculation

Query:
Response:
Calculated Shard: 8 (from laksa016)

2. Crawled Status Check

Query:
Response:

3. Robots.txt Check

Query:
Response:

4. Spam/Ban Check

Query:
Response:

5. Seen Status Check

โ„น๏ธ Skipped - page is already crawled

๐Ÿšซ
NOT INDEXABLE
โœ…
CRAWLED
28 days ago
๐Ÿค–
ROBOTS ALLOWED

Page Info Filters

FilterStatusConditionDetails
HTTP statusPASSdownload_http_code = 200HTTP 200
Age cutoffPASSdownload_stamp > now() - 6 MONTH1 months ago
History dropPASSisNull(history_drop_reason)No drop reason
Spam/banPASSfh_dont_index != 1 AND ml_spam_score = 0ml_spam_score=0
CanonicalFAILmeta_canonical IS NULL OR = '' OR = src_unparsednet,wikidocs!/book/1 s443

Page Details

PropertyValue
URLhttps://wikidocs.net/101942
Last Crawled2026-03-12 07:29:27 (28 days ago)
First Indexednot set
HTTP Status Code200
Meta Title4 ๋‹ค์ค‘ ํŒŒ์ผ ํ”„๋กœ๊ทธ๋žจ ๋นŒ๋“œํ•˜๋Š” ๋ฒ• - C ํ”„๋กœ๊ทธ๋ž˜๋ฐ: ํ˜„๋Œ€์  ์ ‘๊ทผ
Meta Description2.1 ๋‹จ์›์—์„œ ํ•˜๋‚˜์˜ ํŒŒ์ผ๋กœ ๊ตฌ์„ฑ๋œ ํ”„๋กœ๊ทธ๋žจ์„ ์ปดํŒŒ์ผํ•˜๊ณ  ๋งํฌํ•˜๋Š” ์ ˆ์ฐจ๋ฅผ ์‚ดํŽด๋ดค์—ˆ๋‹ค. ์ด์ œ ์ด๊ฑธ ์ข€ ๋” ํ™•์žฅํ•ด์„œ ์—ฌ๋Ÿฌ ํŒŒ์ผ์„ ๊ฐ–๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ๋‹ค๋ค„๋ณด๋„๋ก ํ•˜์ž. ํฐ ํ”„๋กœ๊ทธ๋žจ์„ ๋นŒโ€ฆ
Meta Canonicalnet,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 ๋ฌธ์ž ์ง‘ํ•ฉ ์ƒ‰์ธ ์ฐธ๊ณ ๋ฌธํ—Œ
Shard8 (laksa)
Root Hash5080710280345510808
Unparsed URLnet,wikidocs!/101942 s443