0. The C Programming Language

0.1. C ์–ธ์–ด ๊ต์žฌ

C ์–ธ์–ด๋Š” C ์–ธ์–ด๋ฅผ ์ง์ ‘๋งŒ๋“  ๋ฐ๋‹ˆ์Šค ๋ฆฌ์น˜์™€ ์ปค๋‹ํ•ธ์ด ์“ด [The C Programming Language]๋ฅผ ๊ต์žฌ๋กœ ์‚ผ์•˜๋‹ค.

0.2. C ์–ธ์–ด๋Š”

์ปดํŒŒ์ผ๋Ÿฌ๋‚˜ ์šด์˜์‹œ์Šคํ…œ์„ ์ž‘์„ฑํ•˜๋Š” ๋ถ„์•ผ์—๋„ ์œ ์šฉํ•ด "์‹œ์Šคํ…œ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด"๋ผ๊ณ  ๋ถˆ๋ฆฌ์šด๋‹ค.

์ƒ๋Œ€์ ์œผ๋กœ low-level ์–ธ์–ด์ด๋‹ค. ์—ฌ๊ธฐ์„œ low-level์ด๋ผ ํ•จ์€ ์ปดํ“จํ„ฐ ํ•˜๋“œ์›จ์–ด ์ˆ˜์ค€์—์„œ ๋ฌธ์ž, ์ˆซ์ž, ์ฃผ์†Œ์— ๋Œ€ํ•ด ์ฒ˜๋ฆฌํ•˜๋“ฏ ์ด ์–ธ์–ด์—์„œ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ๋‹ค๋Š” ๋œป์ด๋‹ค.

์ด ์–ธ์–ด๋Š” ์ •์  ๋ณ€์ˆ˜ ์ •์˜๋‚˜ ํ•จ์ˆ˜์˜ ์ง€์—ญ๋ณ€์ˆ˜์— ์˜ํ•œ ์Šคํƒ ์ทจ๊ธ‰ ์™ธ์—๋Š” ๋ฉ”๋ชจ๋ฆฌ ํ• ๋‹น ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•˜์ง€ ์•Š๋Š”๋‹ค. ์ฆ‰ ํž™์ด๋‚˜ ๋ฉ”๋ชจ๋ฆฌ ํ์˜์—ญํšŒ์ˆ˜(๊ฐ€๋น„์ง€ ์ฝœ๋ ‰ํ„ฐ) ๊ธฐ๋Šฅ์ด ์—†๋‹ค.

์ž…์ถœ๋ ฅ ๊ธฐ๋Šฅ์„ ๋”ฐ๋กœ ๊ฐ€์ง€๊ณ  ์žˆ์ง€ ์•Š๋‹ค. ์ฆ‰ READ๋‚˜ WRITE ๊ฐ™์€ ๋ฌธ์žฅ์„ ๊ฐ€์ง€๊ณ  ์žˆ์ง€ ์•Š๋‹ค.

ํŒŒ์ผ์‹œ์Šคํ…œ์— ์ ‘๊ทผํ•˜๋Š” ๋ฐฉ๋ฒ•๋„ ์—†๋‹ค. ์ด๋Ÿฌํ•œ ๊ณ ์ˆ˜์ค€์˜ ๊ธฐ๋Šฅ์€ ์™ธ๋ถ€ ํ•จ์ˆ˜ ํ˜ธ์ถœ์— ์˜ํ•ด ๊ตฌํ˜„๋œ๋‹ค. ๋Œ€๋ถ€๋ถ„์˜ C์–ธ์–ด ์ปดํŒŒ์ผ๋Ÿฌ๋“ค์€ ์ด๋Ÿฌํ•œ ๊ธฐ๋Šฅ์„ ์ˆ˜ํ–‰ํ•˜๋Š” ํ‘œ์ค€์  ํ•จ์ˆ˜ ์ง‘ํ•ฉ์„ ์ œ๊ณตํ•œ๋‹ค.

C๋Š” Test, Loops, Grouping, Subprogram๊ณผ ๊ฐ™์€ Single thread ์ œ์–ด ํ๋ฆ„๋งŒ์„ ์ œ๊ณตํ•  ๋ฟ์ด๋‹ค. multiprogramming, parallel operations, synchronization, coroutines์„ ์ œ๊ณตํ•˜์ง€ ์•Š๋Š”๋‹ค.

์ด๋Ÿฌํ•œ ๊ฒฐํ•์ด ๋‹จ์ ์ฒ˜๋Ÿผ ๋ณด์ด์ง€๋งŒ ๊ฐ„๊ฒฐํ•œ ํฌ๊ธฐ๋ฅผ ๊ฐ–๊ธฐ ๋•Œ๋ฌธ์— ์‹ค์งˆ์ ์ธ ์žฅ์ ์„ ๊ฐ€์ง„๋‹ค. C์–ธ์–ด๋Š” ์ƒ๋Œ€์ ์œผ๋กœ ์ž‘์€ ํฌ๊ธฐ์ด๋ฏ€๋กœ ๋ฌ˜์‚ฌ์— ํ•„์š”ํ•œ ๊ณต๊ฐ„์ด ์ ์–ด๋„ ๋˜๊ณ , ๊ฒฐ๊ตญ ๋ฐฐ์šฐ๊ธฐ ์‰ฝ๋‹ค.

1983๋…„ ANSI(American National Standards Institute)์—์„œ C๋ฅผ ๊ฐœ์ •ํ•˜๊ธฐ ์œ„ํ•œ ์œ„์›ํšŒ๋ฅผ ๊ตฌ์„ฑํ•˜์˜€๊ณ , ์ตœ์ข… ๊ปผ๊ณผ๋กœ ANSI ํ‘œ์ค€, ๋˜๋Š” ANSI C๋ผ๋Š” ์ƒˆ๋กœ์šด Cํ‘œ์ค€์ด 1988๋…„์— ์™„์„ฑ๋˜์—ˆ๋‹ค.

ANSI C์—์„œ๋Š” ์—ฌ๋Ÿฌ๊ฐ€์ง€ ์ถ”๊ฐ€๋œ ๊ธฐ๋Šฅ์ด ์žˆ๋Š”๋ฐ. 1. ์ปดํŒŒ์ผ์‹œ ์ƒˆ๋กœ์šด ๊ทœ์•ฝ์— ๋Œ€ํ•œ ๊ฒฝ๊ณ ๋ฅผ ๋‚ด์ค€๋‹ค. 2. ํ•จ์ˆ˜์˜ ์„ ์–ธ์—๋Š” ๋งค๊ฐœ๋ณ€์ˆ˜์˜ ์„ค๋ช…์ด ํฌํ•จ๋œ๋‹ค. ์ด๋ฅผ ํ†ตํ•ด ์ผ์น˜ ์—ฌ๋ถ€๋ฅผ ์ฒดํฌํ•˜๋„๋ก ๋ฌธ๋ฒ•์ด ๋ณ€ํ™”๋˜์—ˆ๊ณ  ์ด๋ฅผ ํ†ตํ•ด ์ปดํŒŒ์ผ๋Ÿฌ๊ฐ€ ๋งค๊ฐœ๋ณ€์ˆ˜ ๋ถˆ์ผ์น˜ ์˜ค๋ฅ˜๋ฅผ ๋” ์‰ฝ๊ฒŒ ํƒ์ง€ํ•œ๋‹ค. 3. Structure assignment ์™€ enumerations๊ฐ€ ๊ณต์‹์ ์œผ๋กœ ์ง€์›๋ฐ›๊ฒŒ ๋˜์—ˆ๋‹ค. 4. Floating-point(๋ถ€๋™์†Œ์ˆ˜์ ) ์—ฐ์‚ฐ์€ ๋‹จ์ •๋„ ์ •ํ™•๋„๋กœ ๊ณ„์‚ฐ์ด ๋œ๋‹ค. 5. C์— ๊ธฐ๋ณธ์œผ๋กœ ํฌํ•จ๋˜๋Š” ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๊ฐ€ ๋งŽ์•„์กŒ๋‹ค. ํŒŒ์ผ ์ž…์ถœ๋ ฅ, ํ˜•์‹ํ™” ์ž…์ถœ๋ ฅ, ๋ฉ”๋ชจ๋ฆฌ ํ• ๋‹น, ์ŠคํŠธ๋ง ์กฐ์ž‘ ๋“ฑ์ด ์ •์˜๋˜์—ˆ๋‹ค. 6. ํ˜ธํ™˜์„ฑ ๋ฌธ์ œ๊ฐ€ ์—†๋‹ค. ํ”„๋กœ๊ทธ๋žจ์ด ์ˆ˜ํ–‰๋˜์–ด์•ผํ•  ํ•˜๋“œ์›จ์–ด ํŠน์„ฑ์— ๋งž๋Š” ์ƒ์ˆ˜์ง‘ํ•ฉ๋“ค์„ ๋ฏธ๋ฆฌ ์ •์˜ํ•œ๋‹ค. 7. ๋ช…์‹œ์  ํ˜•๋ณ€ํ™˜(explicit conversion)์„ ์š”๊ตฌํ•œ๋‹ค.

๋“ฑ์ด ์žˆ๋‹ค.

Last updated

Was this helpful?