• ์๋ฃํ(data type)์ด๋ ๋ณ์๊ฐ ๊ฐ์ง ์ ์๋ ๊ฐ๋ค์ ์ข ๋ฅ์ด๋ค. C์ธ์ด๋ ์๊ฒฉํ ์๋ฃํ์ผ๋ก ์ ๋ช ํ๋ค. ์๋ฃํ์ ๊ตฌ๋ณํ๋ ๊ฒ์ ๊ท์ฐฎ์ ์์ ์ผ ์ ์์ง๋ง ์ด๋ฌํ ํน์ง ๋๋ฌธ์ C์ธ์ด๋ก ์์ฑ๋ ํ๋ก๊ทธ๋จ์ ์คํ ์๋๊ฐ ๋น ๋ฅด๋ค.
(1) ๋ณ์
• ๋ณ์: ํ๋ก๊ทธ๋จ์์ ๊ฐ๋ค์ด ์ ์ฅ๋๋ ๊ณต๊ฐ
• ๋ณ์ ์ ์ธ: ์ฌ์ฉํ๊ธฐ ์ ์ ๋ฐ๋์ ๋ฏธ๋ฆฌ ์ ์ธ(declare)ํด์ผ ํ๋ค. ๋ณ์ ์ ์ธ์ด๋ ํ๋ก๊ทธ๋จ์์ ์ด๋ค ์ข ๋ฅ์ ๋ณ์๋ฅผ ์ผ๋ง๋ ์ฌ์ฉํ ์ง๋ฅผ ์ปดํ์ผ๋ฌ์๊ฒ ๋ฏธ๋ฆฌ ์๋ฆฌ๋ ๊ฒ์ด๋ค.
๋ณ์ ์ ์ธ | ||
ํ์ | ์๋ฃํ | ๋ณ์์ด๋ฆ; |
์ | int | i; |
• ์์ ์์์๋ ์ ์ํ์ ๋ณ์ i๊ฐ ์ ์ธ๋์๋ค. ์ฌ๊ธฐ์ int๊ฐ ์ ์๋ฅผ ๋ํ๋ด๋ ์๋ฃํ์ด๋ค.
์๋ฃํ์ด๋?
• ์๋ฃํ(data type): "๋ฐ์ดํฐ์ ํ์ (์ข ๋ฅ)"์ด๋ผ๋ ์๋ฏธ.
• ๋ณ์์ ์ ์ฅ๋๋ ๊ฐ์ ์ข ๋ฅ: ์ ์ํ, ๋ถ๋์์์ ํ, ๋ฌธ์ํ
• ์ ์ํ: ์ ์ ํํ์ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅ
• ๋ฌธ์ํ: ํ๋์ ๋ฌธ์๋ฅผ ์ ์ฅ
• ๋ถ๋์์์ ํ: ์ค์ ํํ์ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅ
• ๋ค์ํ ์๋ฃํ์ ๋ณ์๋ฅผ ์ ์ธํด๋ณด์
1 2 3 | char c; //๋ฌธ์ํ ๋ณ์ c ์ ์ธ int i; //์ ์ํ ๋ณ์ i ์ ์ธ double interest_rate; // ๋ถ๋์์์ ํ ๋ณ์ interest_rate ์ ์ธ | cs |
- ๋ฌธ์ํ ๋ณ์ c์๋ ํ๋์ ๋ฌธ์๋ฅผ ์ ์ฅํ ์ ์๋ค.
- ์ ์ํ ๋ณ์ i ์๋ ์ ์๋ฅผ ์ ์ฅํ ์ ์๋ค.
- ๋ถ๋์์์ ํ ๋ณ์์ธ interest_rate์๋ ์ค์๋ฅผ ์ ์ฅํ ์ ์๋ค.
• ์์ ๋ณ์์ ๊ฐ์ ์ ์ฅํ์ฌ ๋ณด์.
1 2 3 | c = 'a'; //๋ฌธ์ a๋ฅผ ์ ์ฅ i = 7; //์ ์ 7์ ์ ์ฅ interest_rate = 0.05; //์ค์ 0.05๋ฅผ | cs |
- ๋ฌธ์๋ 'a'์ ๊ฐ์ด ์์๋ฐ์ดํ๋ก ๋ํ๋ธ๋ค. ๊ทธ๋ฅ a๋ผ๊ณ ํ๋ฉด ์ปดํ์ผ๋ฌ๋ a๋ฅผ ๋ณ์ ์ด๋ฆ์ผ๋ก ์๊ฐํ๋ค. ๋ฌธ์ 'a'๋ฅผ ๋ํ๋ด๋ ค๋ฉด ๋ฐ๋์ 'a'์ ๊ฐ์ด ์์ ๋ฐ์ดํ๋ก ๊ฐ์ธ์ผ ํ๋ค.
• ๋์ผํ ์๋ฃํ์ ๋ณ์๋ฅผ ์ฌ๋ฌ ๊ฐ ์ ์ธํ ๋๋ ๋ค์๊ณผ ๊ฐ์ด ํ ์ค์ ์ ์ธํด๋ ๋๋ค.
1 | int width, height; | cs |
๋ณ์ ์ด๊ธฐํ
• ๋ณ์๊ฐ ์ ์ธ๋๋ฉด ๋ณ์์ ๊ฐ์ ์์ง ์ ์๋์ง ์์ ์ํ๊ฐ ๋๋ค.
• ๋ณ์์ ์ด๊ธฐํ(initialization): ๋ณ์๋ฅผ ์ ์ธ๊ณผ ๋์์ ๊ฐ์ ๋ฃ๋ ๋ฐฉ๋ฒ. ๋ณ์ ์ด๋ฆ ๋ค์ =๋ฅผ ๋ถ์ด๊ณ ์ด๊ธฐ๊ฐ์ ์ ์ด ๋ฃ์ผ๋ฉด ๋๋ค.
๋ณ์ ์ด๊ธฐํ | ||||
ํ์ | ์๋ฃํ | ๋ณ์์ด๋ฆ | = | ์ด๊ธฐ๊ฐ; |
์ | char | c | = | 'a' |
int | i | = | 7; | |
double | interest_rate | = | 0.05; |
Q) ๋ง์ฝ ๋ณ์๋ฅผ ์ด๊ธฐํ ์ํค์ง ์์ผ๋ฉด ์ด๋ค ๊ฐ์ด ๋ณ์์ ๋ค์ด ์๋์?
A) ๋ณ์๊ฐ ์ด๋์ ์ ์ธ๋๋๋์ ๋ฐ๋ผ์ ๋ค๋ฅด์ง๋ง ์ผ๋ฐ์ ์ผ๋ก ์ด๊ธฐํ๋์ง ์์ ๋ณ์์๋ ์ฐ๋ ๊ธฐ ๊ฐ์ด ๋ค์ด๊ฐ๊ฒ ๋๋ค. ์ฐ๋ ๊ธฐ ๊ฐ์ด๋ ์๋ฌด ์๋ฏธ ์๋ ๊ฐ์ ๋งํ๋ค.
๋ณ์์ ์ด๋ฆ ์ง๊ธฐ
• ๋ณ์์ ์ด๋ฆ์ ์ญํ : ๋ณ์์ ๋ณ์๋ค์ ์๋ณํจ
• ๋ณ์์ ์ด๋ฆ์ ๋ค์๊ณผ ๊ฐ์ ๊ท์น์ ๋ฐ๋ผ ๋ง๋ค์ด์ผ ํ๋ค.
- ์ํ๋ฒณ ๋ฌธ์์ ์ซ์, ๋ฐ์ค ๋ฌธ์ _๋ก ์ด๋ฃจ์ด์ง๋ค.
- ์ด๋ฆ์ ์ถฉ๊ฐ์ ๊ณต๋ฐฑ์ด ๋ค์ด๊ฐ๋ฉด ์ ๋๋ค.
- ์ฒซ ๋ฒ์จฐ ๋ฌธ์๋ ๋ฐ๋์ ์ํ๋ฒณ ๋๋ ๋ฐ์ค ๋ฌธ์ _์ด์ฌ์ผ ํ๋ค. ๋ฐ๋ผ์ ์ด๋ฆ์ ์ซ์๋ก ์์ํ ์ ์๋ค.
- ๋๋ฌธ์์ ์๋ฌธ์๋ฅผ ๊ตฌ๋ณํ์ฌ ์๋ก ๋ค๋ฅธ ๊ฒ์ผ๋ก ์ทจ๊ธํ๋ค. ๋ค๋ผ์ ๋ณ์ index์ Index, INDEX์ ๋ชจ๋ ์๋ก ๋ค๋ฅธ ๋ณ์์ด๋ค.
- C์ธ์ด์์ ์ฌ์ฉํ๊ณ ์๋ ํค์๋์ ๋๊ฐ์ ์ด๋ฆ์ ํ์ฉ๋์ง ์๋๋ค.
• ๋ค์๊ณผ ๊ฐ์ ๊ฒ๋ค์ ์ ํจํ ์๋ณ์์ด๋ค.
1 2 3 4 | sum // ์๋ฌธ ์ํ๋ฒณ ๋ฌธ์๋ก ์์ _count // ๋ฐ์ค ๋ฌธ์๋ก ์์ํ ์ ์๋ค. number_of_pictures // ์ค๊ฐ์ ๋ฐ์ค ๋ฌธ์๋ฅผ ๋ฃ์ ์ ์๋ค. king3 // ๋งจ ์ฒ์์ด ์๋๋ผ๋ฉด ์ซ์๋ ๋ฃ์ ์ ์๋ค. | cs |
• ๋ค์๊ณผ ๊ฐ์ ๊ฒ๋ค์ ์ ํจํ์ง ์์ ์๋ณ์์ด๋ค.
1 2 3 | 2nd_base // ์ซ์๋ก ์์ํ ์ ์๋ค. money# // #๊ณผ ๊ฐ์ ๊ธฐํธ๋ ์ฌ์ฉํ ์ ์๋ค. double // double์ C์ธ์ด์ ํค์๋์ด๋ค. | cs |
• ๋ณ์์ ์ด๋ฆ์ ์ํ๋ ๋งํผ ๊ธธ๊ฒ ํ ์์๋ค. ๊ทธ๋ฌ๋ ์ผ๋ฐ์ ์ผ๋ก ์ปดํ์ผ๋ฌ๋ ์ฒ์ 63๊ฐ์ ๋ฌธ์๋ง์ ์ฌ์ฉํ์ฌ ๊ตฌ๋ณํ๋ค. ์ปดํ์ผ๋ฌ์ ๋ฐ๋ผ์๋ ์ฒ์ 31๊ฐ์ ๋ฌธ์๋ง์ ์ฌ์ฉํ ์ ์๋ ๊ฒฝ์ฐ๋ ์๋ค. ๋ฐ๋ผ์ ๋ณ์์ ์ด๋ฆ์ ํ์ ์ด์์ผ๋ก ๊ธธ๊ฒ ํ์ง ์์์ผ ํ๋ค.
ํค์๋
• ํค์๋(keyword): C์ธ์ด์์ ๊ณ ์ ํ ์๋ฏธ๋ฅผ ๊ฐ์ง๊ณ ์๋ ํน๋ณํ ๋จ์ด
• ํค์๋๋ ์์ฝ์ด(reserved words)๋ผ๊ณ ๋ ํ๋ค.
• ํค์๋๋ ์ฌ์ฉ์๊ฐ ๋ค์ ์ ์ํ๊ฑฐ๋ ์ฌ์ฉํ๋ ๊ฒ์ด ๊ธ์ง๋์ด ์๋ค.
• ๋ฐ๋ผ์, ํค์๋๋ ์๋ณ์๋ก์ ์ฌ์ฉํ ์ ์๋ค.
Tip
์ต๊ทผ์๋ ํ๊ธ ์ด๋ฆ์ ๋ณ์๋ ์ฌ์ฉํ ์ ์๋ค. ์๋ฅผ ๋ค๋ฉด ๋ค์๊ณผ ๊ฐ์ ๋ฌธ์ฅ๋ ๊ฐ๋ฅํ๋ค.
int ํฉ๊ณ=0;
Tip: ์ข์ ๋ณ์ ์ด๋ฆ
๋ณ์์ ์ด๋ฆ์ ์ง๋ ๊ฒ์ ์ค์ํ ์์ ์ด๋ค. ๋ณ์์ ์ด๋ฆ์ ์ง์ ๋๋ ๋ณ์์ ์ญํ ์ ๊ฐ์ฅ ์ ์ค๋ช ํ๋ ์ด๋ฆ์ ์ง์ด์ผ ํ๋ค. ์ข์ ๋ณ์ ์ด๋ฆ์ ์ ์ฒด ํ๋ก๊ทธ๋จ์ ์ฝ๊ธฐ ์ฝ๊ฒ ๋ง๋ ๋ค. ํ์ง๋ง ๋ฐ๋๋ก ์ฆํฅ์ ์ผ๋ก ์ง์ ์ด๋ฆ์ ์ฌ์ฉํ๊ฒ ๋๋ฉด ๋์ค์ ํ๋ก๊ทธ๋จ์ ์ฝ๊ธฐ๊ฐ ์์ฃผ ํ๋ค์ด์ง๋ค. ์๋ฅผ ๋ค๋ฉด ์ฐ๋์ ๋ฌ, ์ผ์ ๋ํ๋ด๋๋ฐ i, j, k๋ผ๊ณ ์ด๋ฆ์ ์ง๋ ๊ฒ๋ณด๋ค year, month, date๋ผ๊ณ ํ๋ฉด ํ๋ก๊ทธ๋จ์ด ์ฝ๊ธฐ ์ฌ์์ง ๊ฒ์ด๋ค. ์์ด ๋จ์ด๋ง์ ์ฌ์ฉํด์ผ ํ๋ฏ๋ก ํ์ ์ฌ์ ์ ์ด์ฉํ์ฌ ํ๊ธ์ ์๋ฌธ์ผ๋ก ๋ฐ๊พธ๋ ๊ฒ๋ ์ข์ ์์ด๋์ด์ด๋ค.
Tip: ์ฌ๋ฌ ๋จ์ด๋ก ๋ ๋ณ์ ์ด๋ฆ
์ฌ๋ฌ ๋จ์ด๋ก ๋์ด ์๋ ๋ณ์ ์ด๋ฆ์ ๋ํ๋ด๋ ๋ฐ ๋ช ๊ฐ์ง์ ๋ฐฉ์์ด ์กด์ฌํ๋ค. ๋จผ์ ๊ฐ์ฅ ์ ํต์ ์ธ ๋ฐฉ๋ฒ์ bank_account์ฒ๋ผ ์ค๊ฐ์ ๋ฐ์ค ๋ฌธ์๋ฅผ ์ฌ์ฉํ๋ ๊ฒ์ด๋ค. ๋ ๋ฒ์งธ ๋ฐฉ๋ฒ์ BankAccount์ฒ๋ผ ๋จ์ด์ ์ฒซ ๋ฒ์งธ ๊ธ์๋ฅผ ๋๋ฌธ์๋ก ํ๋ ๊ฒ์ด๋ค. ์ด๋ค ๋ฐฉ์์ ์ฌ์ฉํด๋ ์๊ด์๊ณ ๋ค๋ง ์ผ๊ด์ฑ์๊ฒ ์ฌ์ฉํ๋ฉด ๋๋ค.
'1ํ๋ (2023) > C ์ธ์ด' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[C] C study mini project: ํจ์ - ์์ ์ถ๋ ฅ ํ๋ก๊ทธ๋จ (0) | 2023.07.15 |
---|---|
[C] C study mini project: ๋ฐฐ์ด (0) | 2023.07.13 |
[C] C Study mini project_1์ฃผ์ฐจ: ๋ฐ๋ณต๋ฌธ (0) | 2023.07.11 |
[C] Study mini project_1์ฃผ์ฐจ: ์กฐ๊ฑด๋ฌธ (0) | 2023.07.10 |
[C] C Study mini project_1์ฃผ์ฐจ: ์์๊ณผ ์ฐ์ฐ์ (0) | 2023.07.10 |