1ํ•™๋…„ (2023)/C ์–ธ์–ด

[C] Study: ๋ณ€์ˆ˜์™€ ์ž๋ฃŒํ˜• - (1) ๋ณ€์ˆ˜

waterproof 2023. 7. 11. 11:44

 

 

 

• ์ž๋ฃŒํ˜•(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
= 'a'//๋ฌธ์ž a๋ฅผ ์ €์žฅ
= 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์ฒ˜๋Ÿผ ๋‹จ์–ด์˜ ์ฒซ ๋ฒˆ์งธ ๊ธ€์ž๋ฅผ ๋Œ€๋ฌธ์ž๋กœ ํ•˜๋Š” ๊ฒƒ์ด๋‹ค. ์–ด๋–ค ๋ฐฉ์‹์„ ์‚ฌ์šฉํ•ด๋„ ์ƒ๊ด€์—†๊ณ  ๋‹ค๋งŒ ์ผ๊ด€์„ฑ์žˆ๊ฒŒ ์‚ฌ์šฉํ•˜๋ฉด ๋œ๋‹ค.