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?