11. 11_Chapter 01. C ์ธ์ด - 10. ๋ฌธ์
์์คํค ์ฝ๋
- C ํ๋ก๊ทธ๋จ์ ๋ฌธ์๋ ์์คํค ์ฝ๋ (Ascii Code)๋ฅผ ๋ฐ๋ฆ
- ์์คํค ์ฝ๋๋ 0~127 ์ค์ 1๋ฐ์ดํธ๋ก ๊ตฌ์ฑ๋๋ฉฐ ์ฃผ์ ๋ฌธ์๋ฅผ ์ถ๋ ฅํ๋๋ก ํด์ค
- ์บ๋ฆญํฐํ ์์ฒด์ ์ซ์๋ฅผ ๋ฃ์ด์ ์ฒ๋ฆฌํ ์ ์์
- ๋ฌธ์ ์ ์ถ๋ ฅ์์ ํ์ ์ง์ ์๋ก %c๋ฅผ ์
๋ฌธ์ ์ ์ถ๋ ฅ ํจ์
- ์ด๋ฌํ ๋ฌธ์๋ getChar()๋ฅผ ์ด์ฉํด์ ์ ๋ ฅ์ ๋ฐ๋ ๋ฐฉ์์ด ์์ (getChar๋ ๋จ ํ๋์ ๋ฌธ์๋ฅผ ์ ๋ ฅ๋ฐ์)
๋ฌธ์
- ๋ฌธ์์ด์ ์ฒ๋ฆฌํ ๋ ๋ฒํผ์ ๊ฐ๋ ์ด ๋ง์ด ์ฌ์ฉ๋จ
- ๋ฒํผ(Buffer)๋ ์์์ ์ผ๋ก ํน์ ํ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๊ธฐ ์ํ ๋ชฉ์ ์ผ๋ก ์ฌ์ฉ๋จ
- C ํ๋ก๊ทธ๋จ์ ๊ธฐ๋ณธ์ ์ผ๋ก ์ฌ์ฉ์๊ฐ ์๋ํ์ง ์์๋ ์๋์ผ๋ก ๋ฒํผ๋ฅผ ์ด์ฉํด ์ ์ถ๋ ฅ์ ์ฒ๋ฆฌ
์ ๋ ฅ ๋ฒํผ๋ฅผ ์ ์ฒ๋ฆฌํ์ง ์์ผ๋ฉด ํํ ๋ฐ์ํ๋ ์ค๋ฅ

- ์ด๋ ๊ฒ ๋๋ฉด a ์ ๋ ฅ ํ ์ํฐ๋ฅผ ์ณค์ ๋ ์ํฐ(์ค๋ฐ๊ฟ)์ด c์ ๋ค์ด๊ฐ๊ฒ ๋จ

- ๋จ์์๋ ์ ๋ ฅ ๋ฒํผ๋ฅผ ํญ์ ์ง์ธ ์ ์์
(๊ทผ๋ฐ ๋๋ ์ด ์ฝ๋๋ก ๊ฐ์์ ๋์จ ๊ฒ์ฒ๋ผ ์ ๋จ. ์ ์ ๋ ๊น..)
12. 12_Chapter 01. C ์ธ์ด - 11. ๋ฌธ์์ด
๋ฌธ์์ด์ ๊ฐ๋
- ๋ฌธ์์ด์ ๋ง ๊ทธ๋๋ก ๋ฌธ์๋ค์ ๋ฐฐ์ด
- ๋ฌธ์์ด์ ์ปดํจํฐ ๋ฉ๋ชจ๋ฆฌ ๊ตฌ์กฐ์ ๋ง์ง๋ง์ null ๊ฐ์ ํฌํจ
- null ๊ฐ์ด ๋ค์ด๊ฐ๋ ์ด์ ๋ ๋ฌธ์์ด์ ๋์ ์๋ฆฌ๊ธฐ ์ํจ
- printf() ํจ์๋ฅผ ์คํํ๋ฉด ์ปดํจํฐ๋ ๋ด๋ถ์ ์ผ๋ก null์ ๋ง๋ ๋๊น์ง ์ถ๋ ฅ
๋ฌธ์์ด๊ณผ ํฌ์ธํฐ
- ๋ฌธ์์ด ํํ๋ก ํฌ์ธํฐ๋ฅผ ์ฌ์ฉํ๋ฉด ํฌ์ธํฐ์ ํน์ ํ ๋ฌธ์์ด์ ์ฃผ์๋ฅผ ๋ฃ๊ฒ ๋จ
- ๋ค์ ์ฝ๋๋ "Hello World" ๋ฌธ์์ด์ ์ฝ๊ธฐ ์ ์ฉ์ผ๋ก ๋ฉ๋ชจ๋ฆฌ ๊ณต๊ฐ์ ๋ฃ์ ๋ค ๊ทธ ์์น๋ฅผ ์ฒ๋ฆฌ
- ์ด๋ฌํ ๋ฌธ์์ด์ '๋ฌธ์์ด ๋ฆฌํฐ๋ด'์ด๋ผ ํจ. ์ด๋ ์ปดํ์ผ๋ฌ๊ฐ ์์์ ๋ฉ๋ชจ๋ฆฌ ์ฃผ์๋ฅผ ๊ฒฐ์
- ํฌ์ธํฐ๋ก ๋ฌธ์์ด์ ์ ์ธํ๋ค๊ณ ํ๋๋ผ๋ ๊ธฐ์กด์ ๋ฐฐ์ด์ฒ๋ผ ์ฒ๋ฆฌ ๊ฐ๋ฅ (a[1] ์ด๋ฐ ์์ผ๋ก)

๋ฌธ์์ด ์ ์ถ๋ ฅ ํจ์ - gets()
- ๋ฌธ์์ด ์ ์ถ๋ ฅ์ ์ํ
- scanf() ํจ์๋ ๊ณต๋ฐฑ์ ๋ง๋ ๋๊น์ง ์ ๋ ฅ ๋ฐ์ง๋ง, gets() ํจ์๋ ๊ณต๋ฐฑ๊น์ง ํฌํจํ์ฌ ํ ์ค์ ์ ๋ ฅ๋ฐ์

๋ฌธ์์ด ์ ์ถ๋ ฅ ํจ์ - gets_s()
- gets() ํจ์๋ ๋ฒํผ์ ํฌ๊ธฐ๋ฅผ ๋ฒ์ด๋๋ ์ ๋ ฅ์ ๋ฐ์๋ฒ๋ฆผ -> ํ๋ก๊ทธ๋จ์ ๋ค๋ฅธ ๋ถ๋ถ์ ์ฌ์ฉ์๊ฐ ์์๋ก ๋ฎ์ด์ธ ์ ์๋ ๋ณด์์ ์ทจ์ฝ์ ์ด ์์
- C11 ํ์ค๋ถํฐ๋ ๋ฒํผ์ ํฌ๊ธฐ๋ฅผ ์ฒ ์ ํ ์งํค๋ gets_s() ํจ์๊ฐ ์ถ๊ฐ๋์์

- gets_s๋ ๋ฒ์๋ฅผ ๋ฒ์ด๋๋ฉด ๋ฐํ์ ์ค๋ฅ ๋ฐ์
๋ฌธ์์ด ์ฒ๋ฆฌ๋ฅผ ์ํ ๋ค์ํ ํจ์
- C์ธ์ด์ ๋ฌธ์์ด ์ฒ๋ฆฌ์ ๊ด๋ จํด์๋ ๊ธฐ๋ณธ์ ์ธ ๋ฌธ์์ด ํจ์๋ฅผ ์๊ณ ์๋ ๊ฒ์ด ์ข์
- ๋์ค์ C++์ ์ด์ฉํ๋ฉด ๋์ฑ ๊ฐํธํ๊ณ ๋ค์ํ ํจ์๋ฅผ ์ฌ์ฉํ ์ ์์
- C์ธ์ด์์์ ๋ฌธ์์ด ํจ์๋ <string.h> ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ํฌํจ๋์ด ์์
- strlen() : ๋ฌธ์์ด์ ๊ธธ์ด ๋ฐํ
- strcmp() : ๋ฌธ์์ด1์ด ๋ฌธ์์ด2๋ณด๋ค ์ฌ์ ์ ์ผ๋ก ์์ ์์ผ๋ฉด -1, ๋ค์ ์์ผ๋ฉด +1 ๋ฐํ
- strcpy() : ๋ฌธ์์ด ๋ณต์ฌ
- strcat() : ๋ฌธ์์ด1์ ๋ฌธ์์ด2๋ฅผ ๋ํจ
- strstr() : ๋ฌธ์์ด1์ ๋ฌธ์์ด2๊ฐ ์ด๋ป๊ฒ ํฌํจ๋์ด ์๋์ง๋ฅผ ๋ฐํ (์งง์ ๋ฌธ์์ด์ ์ฐพ์ ์ฃผ์๊ฐ ์์ฒด๋ฅผ ๋ฆฌํดํ๋ฏ๋ก ๋จ์ํ ์ถ๋ ฅํ๋๋ก ํ๋ฉด, ์ฐพ์ ์ดํ ๋ชจ๋ ๋ฌธ์์ด ์ถ๋ ฅ๋จ)
13. 13_Chapter 01. C ์ธ์ด - 12. ์ปดํจํฐ๊ฐ ๋ณ์๋ฅผ ์ฒ๋ฆฌํ๋ ๋ฐฉ๋ฒ
ํ๋ก๊ทธ๋จ ๋ฉ๋ชจ๋ฆฌ ์ฃผ์
- ์ปดํจํฐ์์ ํ๋ก๊ทธ๋จ์ด ์คํ๋๊ธฐ ์ํด์๋ ํ๋ก๊ทธ๋จ์ด ๋ฉ๋ชจ๋ฆฌ์ ์ ์ฌ(load) ๋์ด์ผ ํจ
- ๋น์ฐํ ํ๋ก๊ทธ๋จ์ ํฌ๊ธฐ๋ฅผ ์ถฉ๋นํ ์ ์์ ๋งํผ์ ๋ฉ๋ชจ๋ฆฌ ๊ณต๊ฐ์ด ์์ด์ผ ํจ
- ์ผ๋ฐ์ ์ธ ์ปดํจํฐ์ ์ด์์ฒด์ ๋ ๋ฉ๋ชจ๋ฆฌ ๊ณต๊ฐ์ ๋ค ๊ฐ์ง๋ก ๊ตฌ๋ถํ์ฌ ๊ด๋ฆฌ
โถ ์ฝ๋ ์์ญ : ์์ค์ฝ๋
โถ ๋ฐ์ดํฐ ์์ญ : ์ ์ญ๋ณ์, ์ ์ ๋ณ์
โถ ํ ์์ญ : ๋์ ํ ๋น ๋ณ์
โถ ์คํ ์์ญ : ์ง์ญ๋ณ์, ๋งค๊ฐ๋ณ์
์ ์ญ๋ณ์
- ์ ์ญ๋ณ์(Global Variable)๋ ํ๋ก๊ทธ๋จ์ ์ด๋์๋ ์ ๊ทผ ๊ฐ๋ฅํ ๋ณ์
- main ํจ์๊ฐ ์คํ๋๊ธฐ๋ ์ ์ ํ๋ก๊ทธ๋จ์ ์์๊ณผ ๋์์ ๋ฉ๋ชจ๋ฆฌ์ ํ ๋น๋จ (main ํจ์ ๋ฐ๊นฅ์ ์ ์๋จ)
- ํ๋ก๊ทธ๋จ์ ํฌ๊ธฐ๊ฐ ์ปค์ง ์๋ก ์ ์ญ ๋ณ์๋ก ์ธํด ํ๋ก๊ทธ๋จ์ด ๋ณต์กํด์ง ์ ์์
- ๋ฉ๋ชจ๋ฆฌ์ ๋ฐ์ดํฐ ์์ญ์ ์ ์ฌ๋จ
์ง์ญ๋ณ์
- ์ง์ญ๋ณ์(Local Variable)๋ ํ๋ก๊ทธ๋จ์์ ํน์ ํ ๋ธ๋ก์์๋ง ์ ๊ทผํ ์ ์๋ ๋ณ์
- ํจ์๊ฐ ์คํ๋ ๋๋ง๋ค ๋ฉ๋ชจ๋ฆฌ์ ํ ๋น๋์ด ํจ์๊ฐ ์ข ๋ฃ๋๋ฉด ๋ฉ๋ชจ๋ฆฌ์์ ํด์ ๋จ
- ๋ฉ๋ชจ๋ฆฌ์ ์คํ ์์ญ์ ๊ธฐ๋ก๋จ
์ ์ ๋ณ์
- ์ ์ ๋ณ์(Static Variables)๋ ํน์ ํ ๋ธ๋ก์์๋ง ์ ๊ทผํ ์ ์๋ ๋ณ์
- ํ๋ก๊ทธ๋จ์ด ์คํ๋ ๋ ๋ฉ๋ชจ๋ฆฌ์ ํ ๋น๋์ด ํ๋ก๊ทธ๋จ์ด ์ข ๋ฃ๋๋ฉด ๋ฉ๋ชจ๋ฆฌ์์ ํด์ ๋จ
- ๋ฉ๋ชจ๋ฆฌ์ ๋ฐ์ดํฐ ์์ญ์ ์ ์ฌ๋จ
๋ ์ง์คํฐ ๋ณ์
- ๋ ์ง์คํฐ ๋ณ์ (Register Variable)๋ ๋ฉ์ธ ๋ฉ๋ชจ๋ฆฌ ๋์ CPU์ ๋ ์ง์คํฐ๋ฅผ ์ฌ์ฉํ๋ ๋ณ์ -> ์๋๋ฉด์์ ์ฐ์ํจ
- ๋ ์ง์คํฐ๋ ๋งค์ฐ ํ์ ๋์ด ์์ผ๋ฏ๋ก ์ค์ ๋ก ๋ ์ง์คํฐ์์ ์ฒ๋ฆฌ๋ ์ง๋ (์ปดํ์ผ๋ฌ๊ฐ ๊ฒฐ์ ํ๋๊ฑฐ๋ผ) ์ฅ๋ดํ ์ ์์
ํจ์์ ๋งค๊ฐ๋ณ์๊ฐ ์ฒ๋ฆฌ๋ ๋
- ํจ์๋ฅผ ํธ์ถํ ๋ ํจ์์ ํ์ํ ๋ฐ์ดํฐ๋ฅผ ๋งค๊ฐ๋ณ์๋ก ์ ๋ฌ
- ์ ๋ฌ๋ฐฉ์์ 1) ๊ฐ์ ์ํ ์ ๋ฌ ๋ฐฉ์๊ณผ 2) ์ฐธ์กฐ์ ์ํ ์ ๋ฌ ๋ฐฉ์์ด ์์
โถ ๊ฐ์ ์ํ ์ ๋ฌ : ๋จ์ง ๊ฐ์ ์ ๋ฌํ๋ฏ๋ก ํจ์ ๋ด์์ ๋ณ์๊ฐ ์๋กญ๊ฒ ์์ฑ๋จ
โถ ์ฐธ์กฐ์ ์ํ ์ ๋ฌ : ์ฃผ์๋ฅผ ์ ๋ฌํ๋ฏ๋ก ์๋์ ๋ณ์ ์์ฒด์ ์ ๊ทผ ๊ฐ๋ฅ
๊ฐ์ ์ํ ์ ๋ฌ

์ฐธ์กฐ์ ์ํ ์ ๋ฌ

'Programming > Algorithm' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
| [2020-02-10] 01. ์ํํธ์จ์ด ๋ฒ ์ด์ง - 17 (0) | 2020.02.11 |
|---|---|
| [2020-02-05] 01. ์ํํธ์จ์ด ๋ฒ ์ด์ง - 16 (0) | 2020.02.06 |
| [2020-02-04] 01. ์ํํธ์จ์ด ๋ฒ ์ด์ง - 15 (0) | 2020.02.05 |
| [2020-02-03] 01. ์ํํธ์จ์ด ๋ฒ ์ด์ง - 14 (0) | 2020.02.04 |
| [2020-01-25] 01. ์ํํธ์จ์ด ๋ฒ ์ด์ง - 08 ~ 10 (0) | 2020.01.25 |