๋ฌธ๋ฒ์ฑ
์ค์ฌ์ ํ์ต์ ์ด์ ๊ทธ๋ง!
C์ธ์ด ํ๋ก๊ทธ๋๋ฐ ๊ธธ์ก์ด๊ฐ ๋์ด๋๋ฆฝ๋๋ค.
ํ๋ก๊ทธ๋๋ฐ ํ์ต,
์ ์ฌ์ ํ C์ธ์ด์ผ๊น์?
ํ๋ก๊ทธ๋๋ฐ์ ์์ํ๊ฒ ๋๋ฉด ํ๋ก๊ทธ๋๋ฐ ์ธ์ด๋ฅผ ์ฒ์ ์ ํ๊ฒ ๋ฉ๋๋ค. ์์ฆ ์ข์ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด๋ค์ด ๋ง์ด ์ฐ์ด๋ ๋งํผ ์ด๋ค ์ธ์ด๋ฅผ ์ ํํด์ผ ํ ์ง ๋ง์ฐํ๊ฒ ๋๋ผ๋ ๋ถ๋ค์ด ๋ง์ต๋๋ค. ๋ํ C ์ธ์ด๋ ๋ง๋ค์ด์ง ์ง๋ ์ค๋ ๋์๋๋ฐ, ๊ณผ์ฐ ์ง๊ธ ๋ฐฐ์ฐ๋ ๊ฒ ๋์์ด ๋ ์ง ์์ฌ์ค๋ฌ์ธ ์๋ ์์ต๋๋ค.
TIOBE ์ ์ ์ธ๊ธฐ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด 1์, C.
TIOBE ํ๋ก๊ทธ๋๋ฐ ์ธ์ด ๋ญํน (โป2021๋
8์ ๊ธฐ์ค) โTIOBE
ํ์ง๋ง, C์ธ์ด๋ ์์คํ
ํ๋ก๊ทธ๋๋ฐ ์์ญ์์ ํ๊ณ ํ ์์น๋ฅผ ์ฐจ์งํ๊ณ ์๋ ์ธ์ด์
๋๋ค. ๋ฟ๋ง ์๋๋ผ UI ์ค์ฌ์ ์ธ ํ๋ก๊ทธ๋จ ์ธ์ ์์ญ์์๋ ์ฌ์ ํ ๊ฐ์ฅ ํ๋ฐํ๊ฒ ์ฐ์ด๋ ์ธ์ด์ด๊ธฐ๋ ํฉ๋๋ค.
์ด๋ณด C ํ๋ก๊ทธ๋๋จธ๋ค์
๊ณตํต ๊ณ ๋ฏผ ํด๊ฒฐ!
โC์ธ์ด, ๋ฌธ๋ฒ์ ์ผ์ถ ์๊ฒ ๋๋ฐ...
์ ์ด๋ ๊ฒ ์ด๋ ต๊ฒ ๋๊ปด์ง๊น์?โ
์ด๋ฌํ C์ธ์ด๋ฅผ ๊ณต๋ถํ๋๋ฐ ์์ด ๋ง์ ์ด๋ณด ํ๋ก๊ทธ๋๋จธ๋ค์ด ๊ณตํต์ ์ผ๋ก ์ด๋ ค์ ํ๋ ๋ถ๋ถ๋ค์ด ์์ต๋๋ค. C์ธ์ด ๋ฌธ๋ฒ์ฑ
์ ํ๋ ๋ฒ ๊ณต๋ถํ๋๋ฐ, ์ค์ ๋ก ์ด๋ค ๋ถ๋ถ์ ์ง์คํด์ผ ํ๊ณ ์ด๋ค ๋ถ๋ถ์ ์กฐ์ฌํด์ผ ํ๋์ง ์๊ธฐ๊ฐ ์ด๋ ต์ต๋๋ค. ํนํ ์ฃผ์์ ๋ฌธ๋ฒ์ฑ
๋ง๊ณ ๋ ๋์์ ๋ฐ๊ธฐ๊ฐ ์ด๋ ค์ด ์ํฉ์ ์๋ ์ฌ๋๋ค์ ๊ฒฝ์ฐ๋ผ๋ฉด ๋์ฑ ๊ทธ๋ ์ต๋๋ค.
์ด ๊ฐ์๋ ๋ฐ๋ก ๊ทธ๋ฐ ์ํฉ์ ๋ํด ๋์์ ์ฃผ๊ณ ์ ๋ง๋ค์ด์ก์ต๋๋ค. ๋ฐ๋ผ์ ์ด ๊ฐ์์์๋ C์ธ์ด ๋ฌธ๋ฒ ์์ฃผ๋ก ์ค๋ช
ํ์ง ์์ต๋๋ค. ๊ทธ ๋์ ์ค์ ํ๋ก๊ทธ๋๋ฐ ์ํฉ์์ ๊ผญ ์์์ผ ํ๋ ๊ฒ๋ค, ์ฃผ๋ก ๊ฐ ๊ธฐ๋ฅ์ ์ฌ์ฉํ ๋ ๋ฐ์ํ ์ ์๋ ์ฌ๋ฌ ๊ฐ์ง ์ํฉ์์์ ์ฃผ์ํ ์ ๊ณผ ์์๋๋ฉด ์ข์ ์ ์์ฃผ๋ก ๋ด์ฉ์ ์ค๋ช
ํฉ๋๋ค.
์ด๋ฐ ๋ถ๋ถ์ ๋ํด ๋ฏธ๋ฆฌ ๋ฐฐ์๋๋ค๋ฉด, ๋์ค์ ๊ทธ๋ฐ ์ํฉ๋ค์ ๋ง๋๊ฒ ๋ ๋ ๋ณด๋ค ํจ๊ณผ์ ์ผ๋ก ๋์ฒํ ์ ์์ ๊ฒ์
๋๋ค. ๋ชจ๋ ์ํฉ์ ํ๋์ ๊ฐ์์์ ๋ค ์ค๋ช
ํ ์๋ ์์ง๋ง, ์ค์ง์ ์ธ ๋์์ด ๋ ์ ์๋ ๋ด์ฉ๋ค์ ๊ฐ์ง๊ณ ์ค๋ช
๋ ์ ์๋๋ก ๊ฐ์๋ฅผ ์ค๋นํ์์ต๋๋ค. ๊ทธ๋ผ ํจ๊ป ์ดํด๋ณด์ค๊น์?
์ด๋ฐ ๋ถ๋ค๊ป ์ถ์ฒํฉ๋๋ค.
C์ธ์ด ๋ฌธ๋ฒ์
ํ๋๋ฒ ๊ณต๋ถํ์ง๋ง
๋ฌด์์ด ์ค์ํ์ง
์ ๋ชจ๋ฅด๊ฒ ๋ ๋ถ
ํฌ์ธํฐ ๊ฐ๋
์์
์ ์ดํด๊ฐ ๋์ง ์๊ณ
C์ธ์ด ํ์ต์ด
๋งํ๋ฒ๋ฆฐ ๋ถ
C ํ๋ก๊ทธ๋๋ฐ
ํ์ต์ ์์ํ๋ฉฐ
๋์์ด ๋ ๋งํ ์ง์์
์ฐพ๊ณ ๊ณ์ ๋ถ
C์ธ์ด ๊ฐ์๋ ๋ฌธ๋ฒ์ฑ
์ ํ๋ ๋ฒ ์ ๋ ๊ณต๋ถํด ๋ดค์ง๋ง ์ด๋ค ๊ฒ์ ์ง์คํด์ผ ํ ์ง ๋ชจ๋ฅด๊ฒ ๋ค๋ ๋ถ๋ค๊ป ์ ์ฉํ ๋ด์ฉ๋ค์ ๋ง์ด ๋ค๋ฃจ์์ต๋๋ค. ๋ํ ๊ฐ๊ฐ์ ๊ธฐ๋ฅ๋ค์ ๋ํด์ ๋ฌธ๋ฒ์ ์ธ ์ค๋ช
๋ณด๋ค ์ฃผ์ํด์ผ ํ ์ , ์์๋ฌ์ผ ํ ์ ์์ฃผ๋ก ์ค๋ช
ํ๊ณ ์๊ณ , ํฌ์ธํฐ(Pointer)๋ฅผ ์ด๋ ค์ํ๋ ์ฌ๋๋ค์๊ฒ ๋์์ด ๋ ๋ด์ฉ ์ญ์ ๋ค๋ฃจ๊ณ ์์ต๋๋ค.
์ด ๊ฐ์์ ํน์ฅ์ ์
ํ์ธํด๋ณด์ธ์.
๋ฌธ๋ฒ์ ๋ค ์ค๋ช
ํ๊ธฐ๋ณด๋ค,
๊ธฐ๋ฅ์ ์ผ๋ก ๊ผญ ์์์ผ ํ๋
๋ด์ฉ์ ๋ํด ์ค๋ช
ํฉ๋๋ค.
์งง๊ณ ๊ฐ๋จํ ์ฝ๋๋ก
๊ผญ ํ์ํ ๋ด์ฉ์
์ค๋ช
ํฉ๋๋ค.
ํน์ ํ ์ํฉ์ ๋ํด
๋ค๋ฅธ ์ ๊ทผ ๋ฐฉ๋ฒ๋
์๋ค๋ ๊ฒ์ ์ค๋ช
ํฉ๋๋ค.
๊ทธ๋์, ์ด๋ฐ ๊ฑธ ๋ฐฐ์ฐ๊ฒ ๋ฉ๋๋ค.
โ
์ด๋ ๋ถ๋ถ์ ๊ผญ ์์์ผ ํ๋์ง, ์ด๋ ๋ถ๋ถ์ ์ฃผ์ํด์ผ ํ๋์ง ๊ฐ๋
์ ์ก์ ์ ์์ต๋๋ค.
โ
๋ฌธ์์ด, ๋ฐฐ์ด, ํฌ์ธํฐ์ ์ฐ๊ด์ฑ์ ๋ํ ์ค๋ช
์ ํตํด ๊ฐ ๊ธฐ๋ฅ์ ๋ฐ๋ผ๋ณด๋ ์์ผ๋ฅผ ๋ํ ์ ์์ต๋๋ค.
โ
๊ฐ์ ๊ฒฐ๊ณผ์ฌ๋ ๋ค๋ฅด๊ฒ ์ ๊ทผํด์ผ ํ๋ ์ด์ ๋ฅผ ์ ์ ์์ต๋๋ค.
๋ค์ ์์๋ก
ํ์ตํฉ๋๋ค.
์ด๋ฒ ๊ฐ์๋ ํฌ๊ฒ 3๊ฐ์ ์น์
์ผ๋ก ๋๋์ด์ ธ ์์ต๋๋ค.
์์๋๋ฉด ์ข์์ - ์๋ ๋ด์ฉ์ด์ง๋ง ํ ๋ฒ ๋ - ์๊ณ ์์ง๋ง ์ด๋ฐ ๊ฒ๋ ์๋ค์
์น์
0: ์์๋๋ฉด ์ข์์.
C์ธ์ด๋ฅผ ๋ฐฐ์ฐ๋๋ฐ ์์๋๋ฉด ์ข์ ์ง์์ ๋ํด ๋ค๋ฃน๋๋ค. ๋ํ ์์ผ๋ก ์งํ๋ ๊ฐ์์ ํ์ํ ํ๊ฒฝ์ค์ ์ ๋ํด์๋ ์ค๋ช
ํ๊ณ ์์ต๋๋ค.
์น์
1: ์๋ ๋ด์ฉ์ด์ง๋ง ํ๋ฒ ๋.
์ฐ๋ฆฌ๊ฐ ์ ์๊ณ ์๋ "Hello, world!"์ด์ง๋ง ์ฌ๋ฌ ๊ฐ์ง ์ ๊ทผ ๋ฐฉ๋ฒ์ ๊ฐ์ง๊ณ ์ค๋ช
ํฉ๋๋ค. ๋ํ ๊ณ์ฐ๊ธฐ ํ๋ก๊ทธ๋จ์ ์ด์ฉํด์ ์ฐ๋ฆฌ๊ฐ ๊ผญ ์์์ผ ํ๋ ๋ฉ๋ชจ๋ฆฌ ํฌ๊ธฐ์ ์ฃผ์์ฌํญ๋ค์ ๋ํด์๋ ๋ฐฐ์ฐ๊ฒ ๋ฉ๋๋ค.
์น์
2: ์๊ณ ์์ง๋ง ์ด๋ฐ ๊ฒ๋ ์๋ค์.
C ํ๋ก๊ทธ๋๋ฐ์ ํ๋๋ฐ ์ฃผ๋ก ์ฐ์ด๋ ๊ฐ์ข
๊ธฐ๋ฅ์ ๋ํด ๋ฐฐ์๋๋ค. ๋ํ ํฌ์ธํฐ ๋ถ๋ถ์ ์์ธํ ์ค๋ช
ํ๊ณ ์์ด์, ํฌ์ธํฐ๋ฅผ ์ด๋ ค์ํ๋ ๋ถ๋ค๊ป ๋์์ด ๋๋๋ก ํ์์ต๋๋ค.
์์ ์ง๋ฌธ Q&A
Q. ์๊ฐ์ ์ํด C์ธ์ด ๋ฌธ๋ฒ์ ์์์ผ ํ๋์?
๋ค, ๊ทธ๋ ์ต๋๋ค. ๊ธฐ๋ณธ์ ์ธ C์ธ์ด ๋ฌธ๋ฒ์ฑ
์ ํ๋ ๋ฒ ์ ๋ ์ดํด๋ณธ ๋ถ๋ค์ ๋์์ผ๋ก ํฉ๋๋ค. ํ์ง๋ง ์ฒ์๋ถํฐ ์์ํ๋ค๊ณ ํ๋ฉด, ๋ฐ๋ก C ๋ฌธ๋ฒ์ ํ์ตํ์๋ฉด์ ์ด ๊ฐ์๋ฅผ ๋ณํํด์ ๊ณต๋ถํ๋ ๊ฒ๋ ๊ฐ๋ฅํฉ๋๋ค. ์๋ํ๋ฉด ์ฌ๊ธฐ์์ ์ค๋ช
ํ๊ณ ์๋ ๋ด์ฉ์ ์์ ํ๊ฒ ์ดํดํ๊ธฐ ์ํด ์ค์ค๋ก ๊ณต๋ถํ๋ ๊ฒ๋ ์ข์ ๋ชฉํ๊ฐ ๋๊ธฐ ๋๋ฌธ์
๋๋ค.
Q. ์๊ฐ์ ์ํ ์ปดํจํฐ ์ฌ์์ ์ด๋ ์ ๋์ธ๊ฐ์?
์ธ๊ฐ์ ๋ค์ ์ ์๋ ์ ๋์ ์ปดํจํฐ ํ๊ฒฝ์ด๋ฉด ์ถฉ๋ถํฉ๋๋ค. VS Code์ GCC(GNU Compiler Collection)๋ฅผ ์ด์ฉํด์ ์์
ํ๊ธฐ ๋๋ฌธ์, ๊ณ ์ฌ์์ ์ปดํจํฐ ํ๊ฒฝ์ด ์๋์ด๋ ์ถฉ๋ถํ ํ์ตํ์ค ์ ์์ต๋๋ค.
Q. ๋น์ ๊ณต์๋ ๋ค์ ์ ์๋ ๊ฐ์์ธ๊ฐ์?
๊ฐ์ธ์ ์ผ๋ก ๋น์ ๊ณต์ ๋ถ๋ค์๊ฒ ๋ ์ถ์ฒํ๊ณ ์ถ์ ๊ฐ์์
๋๋ค. ์๋ํ๋ฉด ์ ๊ณต์๋ค์ด๋ ๊ด๋ จ ํ๋์ ํ๋ ์ฌ๋๋ค์๊ฒ๋ ์ด๋ฌํ ์ด์ผ๊ธฐ๋ฅผ ์ง๊ฐ์ ์ ์ผ๋ก ๋ค์ ๊ธฐํ๊ฐ ๋ง์์ ์์ฐ์ค๋ฝ๊ฒ ํ์ต์ด ๋ ์ ์์ง๋ง, ๋น์ ๊ณต์๋ค์ ์ด๋ฌํ ์ด์ผ๊ธฐ๋ฅผ ๋ค์ ๊ธฐํ๊ฐ ๋ง์ง ์๊ธฐ ๋๋ฌธ์ ๋๋์ฑ ์ด๋ฌํ ๊ฐ์๋ฅผ ํตํด์ ๊ทธ๋ฌํ ๋ถ์กฑํ ๋ถ๋ถ์ ์ฑ์์ค์ผ ํ๋ค๊ณ ์๊ฐํฉ๋๋ค.
์ด์ ์ผ ์ด๋ป๋ ๊ฐ์, ํ๋ก๊ทธ๋๋ฐ์ ์์ํ๊ฒ ๋๋ค๊ณ ํ๋ฉด ์ด๋ ํ ํํ๋ก๋ ์์์ผ ํ๊ณ ๋ง๋์ผ ํ๋ ๋ถ๋ถ๋ค์ธ ๋งํผ ๊ฐ์๋ฅผ ํตํด ๋ฏธ๋ฆฌ ๋ฐฐ์ฐ๊ฒ ๋๋ค๊ณ ํ๋ฉด ํฅํ ์ฌ๋ฌ๊ฐ์ง ์ํฉ์์ ๋์์ด ๋ ๊ฑฐ๋ผ๊ณ ์๊ฐํฉ๋๋ค.
์ด ๊ฐ์๋ฅผ ๋ง๋
์ง์๊ณต์ ์๋ฅผ ์๊ฐํฉ๋๋ค.
paulina.devcon
Computer Science๋ฅผ ์ ๊ณตํ์๊ณ , ์ด๋ํต์ ๋ถ์ผ์ SW๊ฐ๋ฐํ์์ ๊ฐ๋ฐ์๋ก ๊ทผ๋ฌดํ์์ต๋๋ค. ๋ง์ ์ค๋งํธํฐ SW๊ฐ๋ฐ์ ์ฃผ๋ก ์ฐธ์ฌํ์์ต๋๋ค. ๋ฌผ๋ก ์ง๊ธ๋ Embedded(์๋ฒ ๋๋) SW ๋ถ์ผ์์ ์ผํ๊ณ ์์ด์.