๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
C ์–ธ์–ด/Basics

[C์–ธ์–ด]๋ณ€์ˆ˜์™€ ์ž๋ฃŒํ˜•:int ํƒ€์ž…, %d ๋“ฑ์˜ ์„œ์‹ ์ง€์ •์ž๊นŒ์ง€ ์ด์ •๋ฆฌ!

by IworldT 2021. 9. 23.
๋ฐ˜์‘ํ˜•

ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด๋ฅผ ํ†ตํ‹€์–ด ๋ณ€์ˆ˜๋Š” ๋งค์šฐ ์ค‘์š”ํ•œ ๊ฐœ๋…์ด๋‹ค. 

๋ณ€์ˆ˜(variable)๋ž€ ํ”„๋กœ๊ทธ๋žจ์—์„œ ์ผ์‹œ์ ์œผ๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•˜๋Š” ๊ณต๊ฐ„์œผ๋กœ, ํ”„๋กœ๊ทธ๋ž˜์˜ ์„ฑ๋Šฅ๊ณผ ์ฝ”๋“œ์˜ ์žฌ์‚ฌ์šฉ์„ฑ์— ์ค‘์š”ํ•œ ์—ญํ• ์„ ํ•œ๋‹ค.

 

 

 ๋ณ€์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ์ด์œ  

 

์•„๋ž˜์˜ ๋‘ ์ฝ”๋“œ๋ฅผ ๋น„๊ตํ•ด ๋ณด์ž.

// ๊ฐ€๋กœ์™€ ์„ธ๋กœ๋ฅผ ๋ฐ›์•„ ์‚ฌ๊ฐํ˜•์˜ ๋ฉด์ ์„ ์ถœ๋ ฅํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ

... //width์™€ height๋ฅผ scanf๋กœ ๋ฐ›์Œ

printf("๋ฉด์ ์€ %d", width*height);

...

width์™€ height๋ฅผ ๋ฐ›์•„ ์ถœ๋ ฅ๋ฌธ์—์„œ ๊ณ„์‚ฐํ•˜์—ฌ ๋ฐ”๋กœ ๋ณด์—ฌ์ค„ ์ˆ˜ ์žˆ๋‹ค.

 

// ๊ฐ€๋กœ์™€ ์„ธ๋กœ๋ฅผ ๋ฐ›์•„ ์‚ฌ๊ฐํ˜•์˜ ๋ฉด์ ์„ ์ถœ๋ ฅํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ

... //width์™€ height๋ฅผ scanf๋กœ ๋ฐ›์Œ

int area;

area = width*height;

printf("๋ฉด์ ์€ %d", area);

...

์ด๋Š” area ๋ณ€์ˆ˜๋ฅผ ํ• ๋‹นํ•˜์—ฌ ๋ฉด์ ์„ ๊ตฌํ•ด์ค€ ๋’ค ์ถœ๋ ฅ๋ฌธ์—์„œ area๋ฅผ ์ถœ๋ ฅํ•œ๋‹ค.

 

์ฝ”๋“œ์˜ ๊ธธ์ด๋กœ ๋ณด๋ฉด ์œ„์˜ ์ฝ”๋“œ๊ฐ€ ๋” ๊ฐ„๊ฒฐํ•ด์„œ ๋” ํšจ์œจ์ ์ธ ์ฝ”๋“œ๋กœ ๋ณด์ผ ์ˆ˜ ์žˆ์ง€๋งŒ, ์•„๋ž˜์˜ ์ฝ”๋“œ๊ฐ€ ๋” ๊ถŒ์žฅ๋œ๋‹ค. ์ด์œ ๋Š” ์•„๋ž˜์˜ ์ƒํ™ฉ๋“ค๋กœ ์ดํ•ดํ•  ์ˆ˜ ์žˆ์„ ๊ฒƒ์ด๋‹ค.

๋งŒ์•ฝ ํ•ด๋‹น ๋ฉด์ ์˜ 2๋ฐฐ์— ํ•ด๋‹นํ•˜๋Š” ๋ฉด์ ๋„ ๊ตฌํ•ด๋‹ฌ๋ผ๋Š” ์š”์ฒญ์ด ์˜ฌ ์ˆ˜๋„ ์žˆ๋‹ค. ๋˜๋Š” 1/2์— ํ•ด๋‹นํ•˜๋Š” ๋ฉด์ ๋„ ๊ตฌํ•ด๋‹ฌ๋ผ๊ณ  ํ• ์ˆ˜๋„ ์žˆ๋‹ค. ๊ทธ ๋•Œ ๋งˆ๋‹ค ์ถœ๋ ฅ๋ฌธ์„ ๋ฐ”๊พธ์–ด ์ฃผ์–ด์•ผ ํ•œ๋‹ค.

๋˜๋Š” ์ฃผ์„ ์—†์ด ์•„๋ฌด๊ฒƒ๋„ ๋ชจ๋ฅด๋Š” ๊ฐœ๋ฐœ์ž๊ฐ€ ์ € ์ฝ”๋“œ๋ฅผ ๋งž์ดํ•˜๊ฒŒ ๋  ์ˆ˜๋„ ์žˆ๋‹ค. area๋ผ๋Š” ๋ณ€์ˆ˜ ๋ช… ์—†์ด width*height๋ฅผ ๋ณด๊ณ  ๋ฉด์ ์„ ๊ตฌํ•˜๋Š” ๊ฒƒ์ด๊ตฌ๋‚˜! ๋ฅผ ์ง๊ด€์ ์œผ๋กœ ์•Œ๊ธฐ ํž˜๋“ค ์ˆ˜ ์žˆ๋‹ค. (์ง€๊ธˆ์€ ๊ฐ„๋‹จํ•œ ์ฝ”๋“œ์ด์ง€๋งŒ ๋ณต์žกํ•  ์ˆ˜๋ก ๋ณ€์ˆ˜๋ช…์ด ์—†๋‹ค๋ฉด ์ฝ”๋“œ๋ฅผ ์ดํ•ดํ•  ์ˆ˜ ์—†๊ฒŒ ๋œ๋‹ค.)

 

๊ทธ๋ ‡์ง€๋งŒ ์ด๋Ÿฐ ๋ณ€์ˆ˜๋ฅผ ๋‚จ์šฉํ•ด์„œ๋Š” ์•ˆ๋œ๋‹ค. ํ”„๋กœ๊ทธ๋žจ์˜ ์„ฑ๋Šฅ๊ด€๋ฆฌ๋ฅผ ์œ„ํ•ด ๋ณ€์ˆ˜์˜ ์ž๋ฃŒํ˜•์„ ๊ตฌ๋ถ„ํ•˜๋Š” ๊ฒƒ์€ ํ•„์ˆ˜์ ์ด๋‹ค.

 

 

๋ณ€์ˆ˜์˜ ์ž๋ฃŒํ˜•

 

๋ณ€์ˆ˜๋Š” ๋‹ค์–‘ํ•œ ๊ฐ’์„ ๋ณด๊ด€ํ•˜๋Š” ํ•˜๋‚˜์˜ ๋ฐ•์Šค๋ผ๊ณ  ์ƒ๊ฐํ•˜๋ฉด ๋œ๋‹ค. ๊ฐ’์„ ๋ณ€๊ฒฝํ•  ์ˆ˜ ์—†๋Š” ์ƒ์ˆ˜๋Š” ๋šœ๊ป‘์ด ๋‹ซํžŒ ์ƒ์ž๋ผ๊ณ  ์ƒ๊ฐํ•˜๋ฉด ๋˜๊ฒ ๋‹ค.

๊ทธ๋Ÿฐ๋ฐ ๋ชจ๋“  ๊ฐ’์„ ํ•˜๋‚˜์˜ ๋ชจ์–‘๊ณผ ์‚ฌ์ด์ฆˆ์˜ ์ƒ์ž์— ๋„ฃ์œผ๋ฉด ๋‹ค์–‘ํ•œ ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•  ๊ฒƒ์ด๋‹ค.

๋ชจ์–‘์ด ์•ˆ๋งž๊ฑฐ๋‚˜ ์‚ฌ์ด์ฆˆ๊ฐ€ ๋„ˆ๋ฌด ์ž‘์•„ ๊ฐ’์„ ๋„ฃ์„ ์ˆ˜ ์—†๊ฑฐ๋‚˜, ์‚ฌ์ด์ฆˆ๊ฐ€ ๋„ˆ๋ฌด ์ปค์„œ ๊ฐ’์„ ๋ณด๊ด€ํ•˜๊ณ ๋„ ๋‚ญ๋น„๋˜๋Š” ๊ณต๊ฐ„์ด ๋งŽ์„ ์ˆ˜ ์žˆ๋Š” ๊ฒƒ์ด๋‹ค. 

๊ทธ๋ž˜์„œ ๋ณ€์ˆ˜์— ์ž๋ฃŒํ˜•์„ ๋‘์–ด ๊ตฌ๋ถ„ํ•œ๋‹ค. ์ƒ์ž์˜ ๋ชจ์–‘๊ณผ ์‚ฌ์ด์ฆˆ๋ฅผ ์ง€์ •ํ•ด์ฃผ๋Š” ๊ณผ์ •์ด๋ผ๊ณ  ์ƒ๊ฐํ•˜๋ฉด ๋œ๋‹ค.

 

์ž๋ฃŒํ˜•์€ ํฌ๊ฒŒ 3๊ฐ€์ง€๊ฐ€ ์žˆ๋‹ค.

์ˆซ์ž(์ •์ˆ˜), ์ˆซ์ž(์‹ค์ˆ˜), ๋ฌธ์ž. ์‚ฌ์‹ค์€ ๋ฌธ์žํ˜•๋„ ์ •์ˆ˜ํ˜•์— ํฌํ•จ๋œ๋‹ค.

๋ฒ”์œ„๋ฅผ ์ดˆ๊ณผํ•˜์—ฌ ๊ฐ’์„ ์ €์žฅํ•˜๋ ค๊ณ  ํ•˜๋ฉด ์˜ˆ์ƒ์น˜ ๋ชปํ•œ ๊ฐ’, ์ฆ‰ ์“ฐ๋ ˆ๊ธฐ๊ฐ’์ด ์ €์žฅ๋œ๋‹ค.

 

๊ตฌ๋ถ„ ํฌ๊ธฐ(byte) ๋ฒ”์œ„
์ •์ˆ˜ํ˜• char 1 -128 ~ 127
short 2 -32768 ~ 32767
int 4 -2,147,483,648 ~ 2,147,483,647
long 4 -2,147,483,648 ~ 2,147,483,647
long long 8 -9,223,372,036,854,775,808 ~ 9,223,372,036,854,775,807
์‹ค์ˆ˜ํ˜• float 4 (3.4 X 10-38) ~ (3.4 X 1038)
double 8 (1.7 X 10-308) ~ (1.7 X 10308)
long double 8 (1.7 X 10-308) ~ (1.7 X 10308)

 

์œ„์˜ ํ‘œ ๋ณด๋‹ค๋Š” ์•„๋ž˜์˜ ๊ทธ๋ฆผ์ด ๋” ์™ธ์šฐ๊ธฐ ์‰ฌ์šธ ๊ฒƒ ๊ฐ™๋‹ค.

 

 

 

์ •์ˆ˜ํ˜•

์†Œ์ˆ˜์  ์—†๋Š” ์ˆ˜๋ฅผ ๋‹ด๋Š” ํƒ€์ž…์ด๋‹ค. ๊ทธ ์ค‘ ๊ฐ€์žฅ ๋งŽ์ด ์‚ฌ์šฉํ•˜๋Š” ํƒ€์ž…์€  int ํ˜•์œผ๋กœ, ์ตœ๋Œ€ 2147483647 ๊นŒ์ง€ ๊ฐ’์„ ๋‹ด์„ ์ˆ˜ ์žˆ๋‹ค. ์šด์˜์ฒด์ œ๋งˆ๋‹ค ๋‹ค๋ฅด์ง€๋งŒ ๋ณดํŽธ์ ์ธ 64bit์˜ ๊ฒฝ์šฐ 4๋ฐ”์ดํŠธ๋กœ ์ฒ˜๋ฆฌํ•œ๋‹ค.

 

์‹ค์ˆ˜ํ˜•

์†Œ์ˆ˜์ ์ด๋‚˜ ์ง€์ˆ˜๊ฐ€ ์žˆ๋Š” ์ˆ˜๋ฅผ ๋‹ด๋Š” ํƒ€์ž…์ด๋‹ค. ์˜ˆ์ „ ์ฝ”๋“œ๋‚˜ ๊ธ€์„ ํ™•์ธํ•˜๋ฉด float ํ˜•์ด ๋งŽ์ด ์“ฐ์ด๋Š” ๊ฒƒ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์ง€๋งŒ. ์ตœ๊ทผ ์ถ”์„ธ๋Š”  double ํ˜•์ž„์„ ์•Œ์•„๋‘๋ฉด ์ข‹๊ฒ ๋‹ค.

 

๋ฌธ์žํ˜•

๋ง ๊ทธ๋Œ€๋กœ ์ˆซ์ž๊ฐ€ ์•„๋‹Œ ๋ฌธ์ž ๊ฐ’์„ ๋‹ด๋Š” ํƒ€์ž…์ด๋‹ค. " ''์™€ ๊ฐ™์€ ๋”ฐ์˜ดํ‘œ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ํ‘œํ˜„ํ•ด๋„ ๋˜๊ณ , ์•„์Šคํ‚ค์ฝ”๋“œ(ASCII)๊ฐ’์„ ์‚ฌ์šฉํ•˜์—ฌ ๊ฐ’์„ ์ง€์ •ํ•ด๋„ ๋œ๋‹ค. ์œ„์—์„œ ๋ฌธ์žํ˜•๋„ ์ •์ˆ˜ํ˜•์— ํฌํ•จ๋œ ์ด์œ ๋Š”, ์‚ฌ์‹ค C๋Š”  char ์ž์ฒด๋ฅผ ์•„์Šคํ‚ค์ฝ”๋“œ ์ˆซ์ž(์ •์ˆ˜)๊ฐ’์œผ๋กœ ์ฒ˜๋ฆฌํ•˜๊ณ  ์žˆ๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค.

 

์˜ˆ๋ฅผ๋“ค์–ด ๋‹ค์Œ ์ฝ”๋“œ๋ฅผ ๋ณด์ž.

int num = 1;
char character = '1';

 

๋‘˜๋‹ค 1์ด์ง€๋งŒ, ์ด ๋‘˜์„ ๋ชจ๋‘ ์ˆซ์žํ˜•์œผ๋กœ ์ถœ๋ ฅํ–ˆ์„ ๋•Œ์—๋Š” num์€ 1 , character๋Š” 49๋กœ ์ถœ๋ ฅ๋  ๊ฒƒ์ด๋‹ค. ๋ฌธ์ž 1์˜ ASCII ์ฝ”๋“œ ๊ฐ’์ด 49์ด๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค.

๋ฐ˜๋Œ€๋กœ ์ด ๋‘˜์„ ๋ชจ๋‘ ๋ฌธ์žํ˜•์œผ๋กœ ์ถœ๋ ฅํ–ˆ์„ ๋•Œ์—๋Š” num์€ SOH๊ฐ€ ์ถœ๋ ฅ๋  ๊ฒƒ์ด๋‹ค. ASCII 1์€ Start of Header ๋ฌธ์žํ˜•์„ ๋œปํ•˜๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค.

 

 

 ์„œ์‹ ์ง€์ •์ž 

์„œ์‹์ง€์ •์ž๋Š” ํ•ด๋‹น ๋ณ€์ˆ˜๋ฅผ ์ถœ๋ ฅํ•  ๋•Œ ์ถœ๋ ฅ ํ˜•์‹์„ ์ง€์ •ํ•ด์ค€๋‹ค.

์˜ˆ๋ฅผ ๋“ค์–ด int ํƒ€์ž… ๋ณ€์ˆ˜๋ฅผ ์ถœ๋ ฅํ•œ๋‹ค๋ฉด %d๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ์‹์ด๋‹ค.

 

 

์ด๋ ‡๊ฒŒ int ํ˜•์ธ grade๋Š” %d๋กœ ์ถœ๋ ฅํ•ด์ฃผ๊ณ , char๊ฐ€ ์—ฌ๋Ÿฌ๊ฐœ์ธ ๋ฌธ์ž์—ด ํ˜•์ธ name์€ %s๋กœ ์ถœ๋ ฅํ•ด์ค€๋‹ค. ์ด ๋•Œ, ํ•ด๋‹น ๋ณ€์ˆ˜์˜ ์ฃผ์†Œ๊ฐ’์„ ์•Œ๋ ค์ค˜์•ผ ๊ทธ ์ฃผ์†Œ์— ์žˆ๋Š” ๊ฐ’ 1๊ณผ world๋ฅผ ์ถœ๋ ฅํ•ด์ฃผ๋ฏ€๋กœ ๋ณ€์ˆ˜๋ช… ์•ž์— &๋ฅผ ๋ถ™์—ฌ์ค˜์•ผ ํ•œ๋‹ค.

 

 

์ข…์ข… ์“ฐ์ด๋Š” ์„œ์‹ ์ง€์ •์ž๋“ค๋งŒ ํ‘œ๋กœ ์ •๋ฆฌํ•ด๋ณด์•˜๋‹ค.

float ํ˜•์ด๋ผ๊ณ  ๊ผญ %f๋กœ๋งŒ ์ถœ๋ ฅํ•ด์•ผํ•˜๋Š” ๊ฒƒ์€ ์•„๋‹ˆ๋‹ค. float ํ˜•์„ intํ˜• ์„œ์‹ ์ง€์ •์ž์ธ %d๋กœ ์ถœ๋ ฅํ•˜๋ฉด ์†Œ์ˆซ์ ์ด ์ž˜๋ฆฐ ์ฑ„ ์ถœ๋ ฅ๋  ๊ฒƒ์ด๋‹ค.

๋˜ํ•œ ์–ด๋–ค ๋ณ€์ˆ˜๋ฅผ %p๋กœ ์ถœ๋ ฅํ•˜๋ฉด ๊ทธ ๋ณ€์ˆ˜์˜ ์ฃผ์†Œ๊ฐ€ ์ถœ๋ ฅ๋  ๊ฒƒ์ด๋‹ค.

 

๋ณ€์ˆ˜๋ฅผ ์ž˜ ๊ด€๋ฆฌํ•˜๋Š” ๊ฒƒ์€ ๊ฐœ๋ฐœ์ž์˜ ๊ธฐ๋ณธ์ ์ธ ์ž„๋ฌด์ด๋‹ค. ์•„์ฃผ ๊ธฐ์ดˆ์ ์ธ ๋‚ด์šฉ์ด๋ฉด์„œ๋„ ๊ทธ๋ ‡๊ธฐ์— ๋Œ€์ถฉ ์‚ฌ์šฉํ•  ์ˆ˜๋„ ์žˆ๋Š” ๋ถ€๋ถ„์ด๋‹ˆ, ํ•œ๋ฒˆ ์ž˜ ๋ฐฐ์›Œ๋‘๋ฉด ์ข‹๋‹ค๊ณ  ์ƒ๊ฐํ•œ๋‹ค.

 

 

C์–ธ์–ด , C++ , ์„œ์‹ ์ง€์ •์ž , ์ถœ๋ ฅ ํ˜•ํƒœ , ๋ณ€์ˆ˜ , ์ž๋ฃŒํ˜• , type , ํƒ€์ž… , ๋ณ€์ˆ˜์˜ ๊ฐœ๋… , ์ƒ์ˆ˜์˜ ๊ฐœ๋… , ์ž๋ฃŒํ˜•์˜ ๊ฐœ๋… , data type , ์‰ฝ๊ฒŒ ํ’€์–ด์“ด c์–ธ์–ด Express ์ œ 4์žฅ

728x90
๋ฐ˜์‘ํ˜•

๋Œ“๊ธ€