์ C๋ฅผ ๋ฐฐ์์ผ ํ๋๊ฐ?
C ํ์ค
C89/ANSI-C
- ์ต์ด์ C ํ์ค (89๋ )
- ์ฌ์ ํ ๋ง์ ์ฝ๋๊ฐ ์ด ํ์ค์ ์ฌ์ฉ
- ์๋ฒ ๋๋ ์์คํ
- ์ด๊ฑธ ๊ฐ์ฅ ๋ง์ด ์ดํด๋ณผ ๊ฒ์
C99
- ๋ง์ ๋ด์ฉ ์ถ๊ฐ
- ์ธ๋ผ์ธ ํจ์
- ์๋ก์ด ํค๋ํ์ผ๋ค
- ์๋ก์ด ์๋ฃํ
- ํ ์ค์ง๋ฆฌ ์ฃผ์
- ์ ์ฐํ ๋ฐฐ์ด ๋ฉค๋ฒ
- ๊ฐ๋ณ ๊ธธ์ด ๋ฐฐ์ด
- ๋ณด๋ค ์์ ํ I/O ํจ์
C11
- C99 ๋์ฒด
- ์ ๋์ฝ๋ ์ง์
- ์ด๋ฆ ์๋ ๊ตฌ์กฐ์ฒด ๋ฐ ๊ณต์ฉ์ฒด
- ์ ๋ค๋ฆญ ํํ์
- ํ์คํ๋ ๋ฉํฐ์ค๋ ๋ฉ ์ง์
C18
- ์ ๊ท ๊ธฐ๋ฅ ์์
- C11์ ๊ฒฐํจ๋ง ์์
include?
- ํ๋์์ ๋ง์ด ์ฌ์ฉํ๋ import์ ๊ฐ์ ๊ตฌ๋ฌธ
- ๋ค๋ฅธ ํ์ผ์ ๊ตฌํ๋ ํจ์๋ ๋ณ์๋ฅผ ์ฌ์ฉํ ์ ์๊ฒ ํด์ค
- ํ์ง๋ง ๋๋ํ๊ฒ? ์ฐพ์์ฃผ์ง๋ ์์
- ์ฌ์ค
#include
๋ ์ ์ฒ๋ฆฌ๊ธฐ ์ง์๋ฌธ์ค ํ๋์ - ์ด์ํ ์ ์.
stdio.h
๋ ์ค์ ๋์คํฌ ์์ ์กด์ฌํ๋ ํ์ผ ์ด๋ฆ์- ํด๋น ํ์ผ์ โํฌํจํด์ค๋ผโ ๋ผ๋ ์๋ฏธ์ (๋ณต์ฌํ๊ณ include ๋ผ์ธ ์ง์ฐ๊ณ ๋ถ์ฌ๋ฃ๊ธฐ)
- ์ฌ์ฉํ์ง ์๋ ๋ค๋ฅธ ํจ์๋ค๋ ๊ฐ์ด ํฌํจ๋จ
์ฌ์ฉ๋ฒ
stdio.h
- Standard Input and Output
- ํ์ค ์ ์ถ๋ ฅ, ์คํธ๋ฆผ ์ ์ถ๋ ฅ
- C ํ์ค ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ค ์ผ๋ถ
- ๋ฌธ์์ด ์ฒ๋ฆฌ
- ์ํ ๊ณ์ฐ
- ์ ์ถ๋ ฅ ์ฒ๋ฆฌ
- ๋ฉ๋ชจ๋ฆฌ ๊ด๋ฆฌ
main(void)
- ํ๋ก๊ทธ๋จ์ ์ง์ ์
- C ์ฝ๋ ๋น๋ํด์ ๋์จ ์คํํ์ผ (.exe, .out)์ ์คํํ๋ฉด ์๋์ ์ผ๋ก ์คํ๋จ
- ๋ฐ๋์
int
๋ฅผ ๋ฐํํด์ผ ํจ- 0: ํ๋ก๊ทธ๋จ์ ๋ฌธ์ ๊ฐ ์์๋ค.
- ๊ทธ ์ธ: ์ค๋ฅ๊ฐ ์์๋ค.
- ํ๋ก๊ทธ๋จ ์ข
๋ฃ ์ฝ๋ ํ์ธํ๊ธฐ
- clang๊ณผ ๊ฐ์ ํ๋ก ํธ์๋ ์ปดํ์ผ๋ฌ๋ก ์คํ
- .out ๊ฒฐ๊ณผ ๋์ด
- shell:
echo $?
์ด ๊ณผ๋ชฉ์์ ์ฌ์ฉํ clang ๋ช ๋ น์ด
clang -std=c89 -W -Wall -pedantic-errors main.c
- clang: command line compiler์ ํ์ค
- c89: c89 ํ์ค์ผ๋ก ์ปดํ์ผํด์ค
- -W: ์๋ ๋ค ์ผ์ฃผ์ธ์
- ๋น๋์ ์คํํ์ผ์ ๋ฐ๋ก ์ต์
์์ฃผ๋ฉด
a.out
์ - -o์ ๊ฐ์ ํ๋๊ทธ ์ถ๊ฐํ๋ฉด ๋ฐ๊ฟ ์ ์์
- ์ผ๋ถ๋ฌ IDE ์ฌ์ฉ์ํจ
- ์๋ ์ฝ๋ ๋ฒ ์ด์ค๊ฐ ๋ง์ง ์๋ค, ํน์ ํ๊ฒฝ์ ๋ง์ถฐ์ ์ฌ์ฉํ๊ธฐ ์ํ ์ฉ๋์ด๋ค.
- ๊ทธ๋์ ํด ์ง์์ด ์ข์ง ์๋ค.
- ์ด๋ฐ ํ๊ฒฝ์ ์ต์ํด์ ธ์ผ ํ๋ค.
- ์ด๋ฐ ๊ฒ ๋ชปํ๊ณ C ๊ฐ๋ฐ์ ํ๋ ค๋ฉด ํ๋ค ์ ์๋ค.
- ์ผ๋จ ๋๋ VSCode์ ์ธํ ํด๋
๊ทธ๋ผ ๋๋ฒ๊น ์ด๋ป๊ฒ ํ์ง?
- ํ์ค ํ์ค ๋ฐ๋ผ๊ฐ ์ ์๋ ๋ฅ๋ ฅ์ ํค์์ผ ํจ
- ํ๋์จ์ด ํ๊ณ ๋ฐ์ ํจ
- ๊ทธ๋์ ์ถ์์ ์ธ๊ฒ ๋ง์ง ์์. ๊ทธ๋์ ๊ฐ๋ฅํจ
main(void): void
- ๋ค๋ฅธ ์ธ์ด์ ๋ฌ๋ฆฌ
void
๋ฅผ ์๋ตํ๋ค๊ณ ๋งค๊ฐ๋ณ์๊ฐ ์๋๊ฒ ์๋int main()
- c์๋ ํจ์ ์ ์ธ๊ณผ ํจ์ ์ ์๊ฐ ๋ถ๋ฆฌ๋์ด ์์
- ํจ์ ์ ์ธ
- ์ฌ๊ธฐ์ void๋ฅผ ์๋ตํ๋ฉด ๋งค๊ฐ ๋ณ์๋ฅผ ๋ฐ๋๋ค๋ ์๋ฏธ
- ๋ค๋ง ๋ฌด์์ ๋ฐ์์ง ๋ชจ๋ฆ..
- ํจ์ ์ ์
- ์ฌ๊ธฐ์ ์๋ตํ๋ฉด ๋งค๊ฐ๋ณ์๊ฐ ์๋ค๋ ๋ป
- ์ ๋ฆฌ: ๋งค๊ฐ๋ณ์๊ฐ ์์ผ๋ฉด ๋ช
์์ ์ผ๋ก
void
๋ผ๊ณ ์จ์ฃผ์. - ๊ทธ๋ฌ๋๊น ์ธ์ ๋ void๋ฅผ ์ ์ธํ๋ ์ต๊ด์ ๊ฐ์ง๊ณ ์์ธ์ ์ผ๋ก ๋งค๊ฐ๋ณ์๋ฅผ ๋ฐ์ ๊ฒฝ์ฐ
void
๋ฅผ ์ง์ฐ๋ฉด ๋๋ค.