1. ํฌ๋งท ์คํธ๋ง ๋ฒ๊ทธ๋?
ํฌ๋งท ์คํธ๋ง ๋ฒ๊ทธ๋ ํฌ๋งท ๋ฌธ์์ด(format string)์ ์ ์ ํ๊ฒ ์ฒ๋ฆฌ ํ์ง ์์์ ๋ ๋ฐ์ํ๋ ๋ณด์ ์ทจ์ฝ์ . C์ธ์ด์ ๊ฐ์ ์ธ์ด์์ printf์ ๊ฐ์ ํจ์์์ ์์ฃผ ๋ฐ์ํ๋ค.
์ผ๋ฐ์ ์ผ๋ก printf ํจ์๋ ํฌ๋งท ์ง์ ์์ ๊ฐ์ ํจ๊ป ์ ๋ฌ๋ฐ์์ผ ํ๋ค.
์๋ฅผ ๋ค์ด, printf(“%s”, str);๋ ๋ฌธ์์ด str์ ์ถ๋ ฅํ ๋์ฌ์ฉ๋๋ฉฐ,
ํฌ๋งท ์ง์ ์์ธ %s๊ฐ ์
๋ ฅ์ผ๋ก ์ ๋ฌ๋ ๋ฌธ์์ด์ ์ถ๋ ฅํ๋ ์ญํ ์ ํ๋ค.
ํ์ง๋ง, ๋ง์ฝ printf์ ํฌ๋งท ๋ฌธ์์ด์ ์ฃผ์ง ์๊ณ ์ฌ์ฉ์ ์
๋ ฅ์ ๊ทธ๋๋ก ์ ๋ฌํ๋ฉด, ํฌ๋งท ์คํธ๋ง ๋ฒ๊ทธ๊ฐ ๋ฐ์ํ ์ ์๋ค.
printf(str);
์ด ์ฝ๋๋ printf(“%s”, str); ์ฒ๋ผ ํฌ๋งท ์ง์ ์๋ฅผ ์ฌ์ฉํ ๊ฒ์ด ์๋๋ผ, ํฌ๋งท ๋ฌธ์์ด๋ก์ ์ง์ str์ด ๋ค์ด๊ฐ๊ฒ ๋๋ค.
๋ง์ฝ ์ฌ์ฉ์ ์
๋ ฅ์ %x ๊ฐ์ ํฌ๋งท ์ง์ ์๋ฅผ ํฌํจ์ํจ๋ค๋ฉด, ๋ฉ๋ชจ๋ฆฌ์์ ๋ฐ์ดํฐ๊ฐ ์ฝํ๊ฑฐ๋ ์ฌ์ง์ด ์์ ๋ ์ ์๋ค.
2. ํฌ๋งท ์คํธ๋ง ๋ฒ๊ทธ์ ์ํ์ฑ
- ์ ๋ณด ์ ์ถ: ๋ฉ๋ชจ๋ฆฌ์ ํน์ ๊ฐ์ %x์ ๊ฐ์ ํฌ๋งท ์ง์ ์๋ฅผ ํตํด ์ถ๋ ฅํ ์ ์์ด, ์ค์ํ ์ ๋ณด๊ฐ ์ ์ถ๋ ์ ์๋ค.
- ์ฝ๋ ์คํ: ์๋ชป๋ ํฌ๋งท ๋ฌธ์์ด์ด ์ ๋ ฅ๋๋ฉด, ๊ณต๊ฒฉ์๊ฐ ์์คํ ์ ์ ์์ ์ธ ์ฝ๋๋ฅผ ์ฃผ์ ํ์ฌ ์คํํ ์ ์๋ค.
3. ํด์ฆ 7๋ฒ ๋ฌธ์ ๋ถ์
#include <stdio.h>
int main() {
char str[100];
scanf(“%s”, str);
printf(str);
return 0;
}
์ ์ฝ๋์์ ํฌ๋งท ์คํธ๋ง ๋ฒ๊ทธ๋ฅผ ์ผ์ผํค๊ธฐ ์ํ ํ์ด๋ก๋๋ฅผ ์์ฑํด๋ณด์ธ์,
(๋ฌธ์์ด์ “Hello!!๋ก ํต์ผ)
- printf(str);์์ ํฌ๋งท ๋ฌธ์์ด์ด ์ ๊ณต๋์ง ์๊ณ , ์ฌ์ฉ์๋ก๋ถํฐ ์ ๋ ฅ๋ฐ์ ๋ฌธ์์ด str์ด ๊ทธ๋๋ก ์ฌ์ฉ๋๊ณ ์๋ค.
- ์ทจ์ฝ์ : ์ฌ์ฉ์๊ฐ %x ๋๋ %s ๊ฐ์ ํฌ๋งท ์ง์ ์๋ฅผ ํฌํจํ ๋ฌธ์์ด์ ์ ๋ ฅํ๋ฉด, ์ํ์ง ์๋ ๋ฉ๋ชจ๋ฆฌ ๊ฐ์ด ์ถ๋ ฅ๋๊ฑฐ๋ ๋ ์ฌ๊ฐํ ๊ฒฝ์ฐ ๋ฉ๋ชจ๋ฆฌ ๋ณ์กฐ๊ฐ ๋ฐ์ํ ์ ์๋ค.
- ๋ต: Hello!%x
- ์ฌ๊ธฐ์ %x๋ ๋ฉ๋ชจ๋ฆฌ ์์ ํน์ ๊ฐ์ 16์ง์๋ก ์ถ๋ ฅํ๊ฒ ๋ง๋ ๋ค.
- ํฌ๋งท ์คํธ๋ง ๋ฒ๊ทธ๋ฅผ ๋ฐฉ์งํ๊ธฐ ์ํด์๋ ํฌ๋งท ๋ฌธ์์ด์ ๋ช ์์ ์ผ๋ก ์ง์ ํด์ผ ํ๋ค.
printf(“%s”, str);
// ์ด๋ ๊ฒ ํ๋ฉด printf๋ ํญ์ str์ ๋ฌธ์์ด๋ก ์ถ๋ ฅํ๊ฒ ๋์ด, ํฌ๋งท ์คํธ๋ง ๋ฒ๊ทธ๊ฐ ๋ฐ์ํ์ง ์๋๋ค.
'E-COPS > 15th ๋น๊ธฐ๋' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
WEEK3 - REVERSING (7) | 2024.10.08 |
---|---|
WEEK2 QUIZ - VCS, Buffer (0) | 2024.10.08 |
WEEK2 - Git, Flask (1) | 2024.10.08 |
WEEK1 - Python, SQL (0) | 2024.09.21 |
WEEK1 - C, javascript (0) | 2024.09.21 |