Language

C์–ธ์–ด ์ •๋ฆฌ

๐“›๐“พ๐“ฌ๐“ฎ๐“ฝ๐“ฎ_๐“ข๐“ฝ๐“ฎ๐“ต๐“ต๐“ช 2015. 9. 22.
728x90
๋ฐ˜์‘ํ˜•

C์–ธ์–ด์˜ ์žฅ์ 

C์–ธ์–ด๋Š” ์ ˆ์ฐจ์ง€ํ–ฅ์  ํŠน์„ฑ์„ ์ง€๋‹Œ๋‹ค. ๋•Œ๋ฌธ์— ์ต์ˆ™ํ•ด์ง€๋Š”๋ฐ ์˜ค๋žœ ์‹œ๊ฐ„์ด ๊ฑธ๋ฆฌ์ง€ ์•Š๋Š”๋‹ค. ์ฆ‰, ์ ˆ์ฐจ์ง€ํ–ฅ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์—์„œ ์ค‘์‹ฌ์ด ๋˜๋Š” ๊ฒƒ์€ โ€˜์ˆœ์„œโ€™์ด๋‹ค.

C์–ธ์–ด๋กœ ์ž‘์„ฑ๋œ ํ”„๋กœ๊ทธ๋žจ์€ ์ด์‹์„ฑ์ด ์ข‹๋‹ค.

C์–ธ์–ด๋กœ ๊ตฌํ˜„๋œ ํ”„๋กœ๊ทธ๋žจ์€ ์ข‹์€ ์„ฑ๋Šฅ์„ ๋ณด์ธ๋‹ค.

 

C์–ธ์–ด๋Š” ๊ธฐ๋ณธ์ ์œผ๋กœ ํ•จ์ˆ˜๋กœ ์‹œ์ž‘ํ•ด์„œ ํ•จ์ˆ˜๋กœ ๋๋‚œ๋‹ค.

int => ์ถœ๋ ฅํ˜•ํƒœ main => ํ•จ์ˆ˜์ด๋ฆ„ (void) => ์ž…๋ ฅํ˜•ํƒœ

์œ„์˜ int์™€ void๋Š” ๊ฐ๊ฐ ์ถœ๋ ฅ๊ณผ ์ž…๋ ฅ์˜ ํ˜•ํƒœ๋ฅผ ์„ค๋ช…ํ•˜๋Š” ๊ฒƒ์ด๋‹ค. ์ฆ‰, ์ถœ๋ ฅ์˜ ํ˜•ํƒœ๊ฐ€ int ์ด๊ณ  ์ž…๋ ฅ์˜ ํ˜•ํƒœ๊ฐ€ void์ธ main์ด๋ผ๋Š” ํ•จ์ˆ˜

 

C์–ธ์–ด์˜ ํ•จ์ˆ˜ ๋‚ด์— ์กด์žฌํ•˜๋Š” ๋ฌธ์žฅ์˜ ๋์—๋Š” ์„ธ๋ฏธ์ฝœ๋ก  ๋ฌธ์ž ;์„ ๋ถ™์—ฌ์ค€๋‹ค.

 

printf ํ•จ์ˆ˜๋Š” ํ•จ์ˆ˜ํ˜ธ์ถœ ์‹œ ์ „๋‹ฌ๋˜๋Š” ๋ฌธ์ž์—ด์˜ ๋ชจ๋‹ˆํ„ฐ์— ์ถœ๋ ฅํ•˜๋Š” ๊ธฐ๋Šฅ์„ ์ง€๋‹Œ๋‹ค. ์ด๋Š” ์ง์ ‘ ๋งŒ๋“ค์ง€ ์•Š์•„๋„ ํ˜ธ์ถœ์ด ๊ฐ€๋Šฅํ•œ, ๊ธฐ๋ณธ์ ์œผ๋กœ ์ œ๊ณต๋˜๋Š” ํ•จ์ˆ˜ ์ฆ‰, ์ด๋ฏธ ๋งŒ๋“ค์–ด ์ ธ์žˆ๊ณ  ๊ธฐ๋ณธ์ ์œผ๋กœ ์ œ๊ณต๋˜๋Š” ํ•จ์ˆ˜๋ฅผ ๊ฐ€๋ฆฌ์ผœ โ€˜ํ‘œ์ค€ํ•จ์ˆ˜โ€™๋ผ๊ณ  ํ•˜๊ณ  ํ‘œ์ค€ํ•จ์ˆ˜๋“ค์˜ ๋ชจ์ž„์„ ๊ฐ€๋ฆฌ์ผœ โ€˜ํ‘œ์ค€๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌโ€™ ๋ผ๊ณ  ํ•œ๋‹ค.

printf์˜ ์„œ์‹๋ฌธ์ž์˜ ์ข…๋ฅ˜

%d : 10์ง„์ˆ˜

%o : 8์ง„์ˆ˜

%s : ๋ฌธ์ž์—ด

%x : 16์ง„์ˆ˜

%f : ์‹ค์ˆ˜

%Lf : ์‹ค์ˆ˜ โ€“ Long double

 

return ์€ ํ•จ์ˆ˜์˜ ์ข…๋ฃŒ์™€ ๊ฐ’์˜ ์ „๋‹ฌ์ด๋ผ๋Š” ๋‘ ๊ฐ€์ง€ ์˜๋ฏธ๋ฅผ ์ง€๋‹Œ๋‹ค.

ํ•จ์ˆ˜๋ฅผ ํ˜ธ์ถœํ•œ ์˜์—ญ์œผ๋กœ ๊ฐ’์„ ์ „๋‹ฌ

ํ˜„์žฌ ์‹คํ–‰์ค‘์ธ ํ•จ์ˆ˜์˜ ์ข…๋ฃŒ

 

์ฃผ์„์ด๋ž€?

ํ”„๋กœ๊ทธ๋žจ ๋‚ด์— ์‚ฝ์ž…๋œ ๋ฉ”๋ชจ๋ฅผ ์˜๋ฏธํ•œ๋‹ค. ์ฃผ์„์€ ์„ ํƒ์ด ์•„๋‹Œ ํ•„์ˆ˜์ด๋‹ค.

๋ธ”๋ก ๋‹จ์œ„ ์ฃผ์„

/* ์ฃผ์„์ฒ˜๋ฆฌ ๋œ ๋ฌธ์žฅ */

/*

์ฃผ์„์ฒ˜๋ฆฌ ๋œ ๋ฌธ์žฅ1

์ฃผ์„์ฒ˜๋ฆฌ ๋œ ๋ฌธ์žฅ2

*/

ํ–‰ ๋‹จ์œ„ ์ฃผ์„

// ์ฃผ์„์ฒ˜๋ฆฌ ๋œ ๋ฌธ์žฅ1

// ์ฃผ์„์ฒ˜๋ฆฌ ๋œ ๋ฌธ์žฅ2

 

์ฃผ์„์ฒ˜๋ฆฌ์— ์žˆ์–ด์„œ์˜ ์ฃผ์˜์ 

๋ธ”๋ก ๋‹จ์œ„ ์ฃผ์„์€ ์ค‘์ฒฉ๋  ์ˆ˜ ์—†๋‹ค.

/*

์ฃผ์„์ฒ˜๋ฆฌ ๋œ ๋ฌธ์žฅ1

/* ๋‹จ์ผ ํ–‰ ์ฃผ์„์ฒ˜๋ฆฌ */

์ฃผ์„์ฒ˜๋ฆฌ ๋œ ๋ฌธ์žฅ2

*/

printf ํ•จ์ˆ˜๋Š” ์ฒซ ๋ฒˆ์งธ ์ธ์ž๋กœ ์ „๋‹ฌ๋œ ๋ฌธ์ž์—ด์„ ์ถœ๋ ฅํ•œ๋‹ค.

๋˜ํ•œ printf ํ•จ์ˆ˜๋ฅผ ์ด์šฉํ•˜๋ฉด ๋ฌธ์ž์—ด ์ด์™ธ์˜ ๋ฐ์ดํ„ฐ๋ฅผ ๋‹ค์–‘ํ•œ ํ˜•ํƒœ๋กœ ์ถœ๋ ฅํ•˜๋Š” ๊ฒƒ์ด ๊ฐ€๋Šฅํ•˜๋‹ค. ์ •์ˆ˜ ์ถœ๋ ฅ๋„ ๊ฐ€๋Šฅ

 

C์–ธ์–ด๋ฅผ ์ด์šฉํ•ด์„œ ํŠน์ •์—ฐ์‚ฐ์„ ์š”๊ตฌํ•  ๋•Œ ์‚ฌ์šฉํ•˜๋Š” ์•ฝ์†๋œ ๊ธฐํ˜ธ๋ฅผ ๊ฐ€๋ฆฌ์ผœ โ€˜์—ฐ์‚ฐ์žโ€™๋ผ ํ•œ๋‹ค.

โ€œ๋ง์…ˆ์—ฐ์‚ฐ์„ ํ•˜๊ณ  ๊ทธ ๊ฒฐ๊ณผ๋ฅผ ๋ฉ”๋ชจ๋ฆฌ ๊ณต๊ฐ„์— ์ €์žฅํ•œ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ๋ฉ”๋ชจ๋ฆฌ ๊ณต๊ฐ„์— ์ €์žฅ๋œ ๊ฐ’์„ ์ถœ๋ ฅํ•œ๋‹ค.โ€

์œ„์˜ ๋ง์ฒ˜๋Ÿผ ๋ง์…ˆ๊ฒฐ๊ณผ๋ฅผ ์ €์žฅํ•˜๊ฒŒ ๋˜๋ฉด , printf ํ•จ์ˆ˜์˜ ํ˜ธ์ถœ์„ ํ†ตํ•ด ๋‹ค์–‘ํ•œ ํ˜•ํƒœ๋กœ ์ถœ๋ ฅํ•˜๋Š” ๊ฒƒ์ด ๊ฐ€๋Šฅํ•ด์งˆ ๋ฟ ์•„๋‹ˆ๋ผ, ์ €์žฅ๋œ ๊ฐ’์„ ๊ฐ€์ง€๊ณ  ์ถ”๊ฐ€์ ์ธ ์—ฐ์‚ฐ๋„ ์ง„ํ–‰ํ•  ์ˆ˜๊ฐ€ ์žˆ๋‹ค. ์ด๋ฅผ ์ €์žฅ ํ•˜๊ธฐ ์œ„ํ•ด C์–ธ์–ด๋Š” โ€˜๋ณ€์ˆ˜โ€™๋ผ๋Š” ๊ฒƒ์„ ์ œ๊ณตํ•œ๋‹ค.

 

์„ ์–ธ๋œ ๋ณ€์ˆ˜์— ์ฒ˜์Œ ๊ฐ’์„ ์ €์žฅํ•˜๋Š” ๊ฒƒ์„ โ€˜์ดˆ๊ธฐํ™”โ€™๋ผ๊ณ  ํ•œ๋‹ค.

int main(void)

{

int num; //num์ด๋ผ๋Š” ๋ณ€์ˆ˜์˜ ์„ ์–ธ

num=12; //๋ณ€์ˆ˜ num์„ 12๋กœ ์ดˆ๊ธฐํ™”

}

C์–ธ์–ด์—์„œ๋Š” ๋ณ€์ˆ˜๋ฅผ โ€˜์„ ์–ธ๊ณผ ๋™์‹œ์— ์ดˆ๊ธฐํ™”โ€™ํ•˜๋Š” ๊ฒƒ์ด ๊ฐ€๋Šฅํ•˜๋‹ค.

But ๋ณ€์ˆ˜๋ฅผ ์„ ์–ธ๋งŒ ํ•˜๊ณ  ์ดˆ๊ธฐํ™”ํ•˜์ง€ ์•Š์œผ๋ฉด ์“ฐ๋ ˆ๊ธฐ ๊ฐ’์ด ์ €์žฅ๋œ๋‹ค.

 

๋ณ€์ˆ˜์„ ์–ธ ์‹œ ์ค‘๊ด„ํ˜ธ ๋‚ด์— ๋ณ€์ˆ˜๋ฅผ ์„ ์–ธํ•  ๊ฒฝ์šฐ, ๋ณ€์ˆ˜์˜ ์„ ์–ธ๋ฌธ์€ ์ค‘๊ด„ํ˜ธ์˜ ์•ž๋ถ€๋ถ„์— ์œ„์น˜ํ•ด์•ผ ํ•œ๋‹ค.

 

๋ณ€์ˆ˜์˜ ์ด๋ฆ„์„ ์ง€์„ ๋•Œ

๋ณ€์ˆ˜์˜ ์ด๋ฆ„์€ ์•ŒํŒŒ๋ฒณ, ์ˆซ์ž, ์–ธ๋”๋ฐ”๋กœ ๊ตฌ์„ฑ๋œ๋‹ค.

C์–ธ์–ด๋Š” ๋Œ€์†Œ๋ฌธ์ž๋ฅผ ๊ตฌ๋ถ„ํ•œ๋‹ค.

๋ณ€์ˆ˜์˜ ์ด๋ฆ„์€ ์ˆซ์ž๋กœ ์‹œ์ž‘ํ•  ์ˆ˜ ์—†๊ณ , ํ‚ค์›Œ๋“œ๋„ ๋ณ€์ˆ˜์˜ ์ด๋ฆ„์œผ๋กœ ์‚ฌ์šฉํ•  ์ˆ˜ ์—†๋‹ค.

์ด๋ฆ„ ์‚ฌ์ด์— ๊ณต๋ฐฑ์ด ์‚ฝ์ž… ๋  ์ˆ˜์—†๋‹ค.

 

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

์ •์ˆ˜ํ˜• ๋ณ€์ˆ˜ : ์ •์ˆ˜์˜ ์ €์žฅ์„ ๋ชฉ์ ์œผ๋กœ ์„ ์–ธ๋œ ๋ณ€์ˆ˜

์‹ค์ˆ˜ํ˜• ๋ณ€์ˆ˜ : ์†Œ์ˆ˜์  ์ดํ•˜์˜ ๊ฐ’์„ ์ง€๋‹ˆ๋Š” ์‹ค์ˆ˜์˜ ์ €์žฅ์„ ๋ชฉ์ ์œผ๋กœ ์„ ์–ธ๋œ ๋ณ€์ˆ˜

 

๋Œ€์ž… ์—ฐ์‚ฐ์ž(=)์™€ ์‚ฐ์ˆ  ์—ฐ์‚ฐ์ž(+_*%)

= ์—ฐ์‚ฐ์ž ์˜ค๋ฅธ์ชฝ์— ์žˆ๋Š” ๊ฐ’์„ ์—ฐ์‚ฐ์ž ์™ผ์ชฝ์— ์žˆ๋Š” ๋ณ€์ˆ˜์— ๋Œ€์ž…ํ•œ๋‹ค.

+ ๋‘ ํ”ผ์—ฐ์‚ฐ์ž์˜ ๊ฐ’์„ ๋”ํ•œ๋‹ค.

์™ผ์ชฝ์˜ ํ”ผ์—ฐ์‚ฐ์ž ๊ฐ’์—์„œ ์˜ค๋ฅธ์ชฝ์˜ ํ”ผ์—ฐ์‚ฐ์ž ๊ฐ’์„ ๋บ€๋‹ค.

* ๋‘ ํ”ผ์—ฐ์‚ฐ์ž์˜ ๊ฐ’์„ ๊ณฑํ•œ๋‹ค.

/ ์™ผ์ชฝ์˜ ํ”ผ์—ฐ์‚ฐ์ž ๊ฐ’์„ ์˜ค๋ฅธ์ชฝ์˜ ํ”ผ์—ฐ์‚ฐ์ž ๊ฐ’์œผ๋กœ ๋‚˜๋ˆˆ๋‹ค.

% ์™ผ์ชฝ์˜ ํ”ผ์—ฐ์‚ฐ์ž ๊ฐ’์„ ์˜ค๋ฅธ์ชฝ์˜ ํ”ผ์—ฐ์‚ฐ์ž ๊ฐ’์œผ๋กœ ๋‚˜๋ˆด์„ ๋•Œ ์–ป๊ฒŒ ๋˜๋Š” ๋‚˜๋จธ์ง€๋ฅผ ๋ฐ˜ํ™˜

 

์ฆ๊ฐ€, ๊ฐ์†Œ ์—ฐ์‚ฐ์ž

++.num ๊ฐ’์„ 1 ์ฆ๊ฐ€ ํ›„, ์†ํ•œ ๋ฌธ์žฅ์˜ ๋‚˜๋จธ์ง€๋ฅผ ์ง„ํ–‰

num++ ์†ํ•œ ๋ฌธ์žฅ์„ ๋จผ์ € ์ง„ํ–‰ํ•œ ํ›„, ๊ฐ’์„ 1 ์ฆ๊ฐ€

--num ๊ฐ’์„ 1 ๊ฐ์†Œ ํ›„, ์†ํ•œ ๋ฌธ์žฅ์˜ ๋‚˜๋จธ์ง€๋ฅผ ์ง„ํ–‰

numโ€” ์†ํ•œ ๋ฌธ์žฅ์„ ๋จผ์ € ์ง„ํ–‰ํ•œ ํ›„, ๊ฐ’์„ 1 ๊ฐ์†Œ

 

๊ด€๊ณ„ ์—ฐ์‚ฐ์ž

< n1์ด n2๋ณด๋‹ค ์ž‘์€๊ฐ€?

>n1์ด n2๋ณด๋‹ค ํฐ๊ฐ€?

== .n1๊ณผ n2๊ฐ€ ๊ฐ™์€๊ฐ€?

!= n1๊ณผ n2๊ฐ€ ๋‹ค๋ฅธ๊ฐ€?

<= n1์ด n2๋ณด๋‹ค ๊ฐ™๊ฑฐ๋‚˜ ์ž‘์€๊ฐ€?

>= n1์ด n2๋ณด๋‹ค ๊ฐ™๊ฑฐ๋‚˜ ํฐ๊ฐ€?

์œ„์˜ ๊ด€๊ณ„ ์—ฐ์‚ฐ์ž๋“ค์€ โ€˜์กฐ๊ฑด์„ ๋งŒ์กฑํ•˜๋ฉด 1์„, ๋งŒ์กฑํ•˜์ง€ ์•Š์œผ๋ฉด 0์„ ๋ฐ˜ํ™˜โ€™ํ•œ๋‹ค.

 

๋…ผ๋ฆฌ ์—ฐ์‚ฐ์ž

&& A์™€ B ๋ชจ๋‘ ์ฐธ์ด๋ฉด ์—ฐ์‚ฐ๊ฒฐ๊ณผ๋กœ โ€˜์ฐธ์„ ๋ฐ˜ํ™˜โ€™(๋…ผ๋ฆฌ AND)

|| A์™€ B ๋‘˜ ์ค‘ ํ•˜๋‚˜๋ผ๋„ ์ฐธ์ด๋ฉด ์—ฐ์‚ฐ๊ฒฐ๊ณผ๋กœ โ€˜์ฐธ์„ ๋ฐ˜ํ™˜โ€™(๋…ผ๋ฆฌ OR)

! A๊ฐ€ ์ฐธ์ด๋ฉด ๊ฑฐ์ง“, A๊ฐ€ ๊ฑฐ์ง“์ด๋ฉด ์ฐธ์„ ๋ฐ˜ํ™˜ (๋…ผ๋ฆฌNOT)

 

scnaf ํ•จ์ˆ˜๋ฅผ ํ˜ธ์ถœํ•˜๋ฉด์„œ ๋ณ€์ˆ˜ ์•ž์— &์—ฐ์‚ฐ์ž๊ฐ€ ๋ถ™์–ด์žˆ๋‹ค.

scanf ํ•จ์ˆ˜ํ˜ธ์ถœ์„ ํ†ตํ•ด์„œ ์—ฌ๋Ÿฌ ๊ฐœ์˜ ๋ฐ์ดํ„ฐ๋ฅผ ๋‹ค์–‘ํ•œ ํ˜•ํƒœ๋กœ ์ž…๋ ฅ ๋ฐ›๋Š” ๊ฒƒ์ด ๊ฐ€๋Šฅํ•˜๋‹ค.

scanfํ•จ์ˆ˜๋Š” ๊ณต๋ฐฑ์„ ๊ธฐ์ค€์œผ๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ๊ตฌ๋ถ„ํ•œ๋‹ค.

 

์ •์ˆ˜์˜ ํ‘œํ˜„ ๋ฐฉ์‹

- ์ •์ˆ˜์˜ ๊ฐ€์žฅ ์™ผ์ชฝ์— ์กด์žฌํ•˜๋Š” ๋น„ํŠธ๋Š” โ€˜๋ถ€ํ˜ธ๋น„ํŠธโ€™์ด๋‹ค.

- ์Œ์˜ ์ •์ˆ˜๋ฅผ ํ‘œํ˜„ํ•  ๋•Œ์—๋Š” 2์˜ ๋ณด์ˆ˜๋ฅผ ์ทจํ•ด์•ผ ํ•œ๋‹ค.

 

์‹ค์ˆ˜์˜ ํ‘œํ˜„ ๋ฐฉ์‹

์‹ค์ˆ˜๋ฅผ ํ‘œํ˜„ํ•˜๋Š” ๊ธฐ๋ณธ๋ฐฉ์‹ :

์ปดํ“จํ„ฐ๊ฐ€ ์‹ค์ˆ˜๋ฅผ ํ‘œํ˜„ํ•˜๋Š” ๋ฐฉ์‹์—๋Š” ์˜ค์ฐจ๊ฐ€ ์กด์žฌํ•œ๋‹ค.

โ€œ๋„“์€ ๋ฒ”์œ„์˜ ์‹ค์ˆ˜๋ฅผ ํ‘œํ˜„ํ•  ์ˆ˜ ์žˆ์ง€๋งŒ, ์‹ค์ˆ˜์˜ ํ‘œํ˜„์— ์˜ค์ฐจ๊ฐ€ ์กด์žฌํ•œ๋‹ค.โ€

 

๋น„ํŠธ์—ฐ์‚ฐ์ž

& : ๋น„ํŠธ๋‹จ์œ„๋กœ AND ์—ฐ์‚ฐ์„ ํ•œ๋‹ค.

0&0 : 0์„ ๋ฐ˜ํ™˜

0&1 : 0์„ ๋ฐ˜ํ™˜

1&0 : 0์„ ๋ฐ˜ํ™˜

1&1 : 1์„ ๋ฐ˜ํ™˜

 

 

| : ๋น„ํŠธ๋‹จ์œ„๋กœ OR ์—ฐ์‚ฐ์„ ํ•œ๋‹ค.

0|0 : 0์„ ๋ฐ˜ํ™˜

0|1 : 1์„ ๋ฐ˜ํ™˜

1|0 : 1์„ ๋ฐ˜ํ™˜

1|1 : 1์„ ๋ฐ˜ํ™˜

^ : ๋น„ํŠธ๋‹จ์œ„๋กœ XOR ์—ฐ์‚ฐ์„ ํ•œ๋‹ค.

0^0 : 0์„ ๋ฐ˜ํ™˜

0^1 : 1์„ ๋ฐ˜ํ™˜

1^0 : 1์„ ๋ฐ˜ํ™˜

0^1 : 0์„ ๋ฐ˜ํ™˜

~ : ๋‹จํ•ญ ์—ฐ์‚ฐ์ž๋กœ์„œ ํ”ผ์—ฐ์‚ฐ์ž์˜ ๋ชจ๋“  ๋น„ํŠธ๋ฅผ ๋ฐœ์ „์‹œํ‚จ๋‹ค.

~0 : 1์„ ๋ฐ˜ํ™˜

~1 : 0์„ ๋ฐ˜ํ™˜

<< : ํ”ผ์—ฐ์‚ฐ์ž์˜ ๋น„ํŠธ ์—ด์„ ์™ผ์ชฝ์œผ๋กœ ์ด๋™ ์‹œํ‚จ๋‹ค.

num1 << num2 : num1์˜ ๋น„ํŠธ ์—ด์„ num2์นธ์”ฉ ์™ผ์ชฝ์œผ๋กœ ์ด๋™์‹œํ‚จ ๊ฒฐ๊ณผ๋ฅผ ๋ฐ˜ํ™˜

>> : ํ”ผ์—ฐ์‚ฐ์ž์˜ ๋น„ํŠธ ์—ด์„ ์˜ค๋ฅธ์ชฝ์œผ๋กœ ์ด๋™์‹œํ‚จ๋‹ค.

 

 

๊ธฐ๋ณธ ์ž๋ฃŒํ˜•์˜ ์ข…๋ฅ˜์™€ ๋ฐ์ดํ„ฐ์˜ ํ‘œํ˜„ ๋ฐฉ๋ฒ•

์ •์ˆ˜ํ˜• : char โ€“ 1byte : -128์ด์ƒ+127์ดํ•˜

short โ€“ 2byte : -32,768์ด์ƒ +32,767์ดํ•˜

int โ€“ 4byte : -2,147,483,648์ด์ƒ +2,147,483,647์ดํ•˜

long โ€“ 4byte : -2,147,483,648์ด์ƒ +2,147,483,647์ดํ•˜

longlong โ€“ 8byte : -9,223,372,036,854,775,808์ด์ƒ

-9,223,372,036,854,775,808์ดํ•˜

 

์‹ค์ˆ˜ํ˜• : float โ€“ 4byte

double โ€“ 8byte

long double โ€“ 8byte์ด์ƒ

โ€œshort์™€ int๋Š” ์ตœ์†Œ 2byte์ด๋˜, int๋Š” short์™€ ํฌ๊ธฐ๊ฐ€ ๊ฐ™๊ฑฐ๋‚˜ ๋” ์ปค์•ผ ํ•œ๋‹ค.โ€

์—ฐ์‚ฐ์ž sizeof๋ฅผ ์ด์šฉํ•˜๋ฉด ์ž๋ฃŒํ˜•์˜ ํฌ๊ธฐ๋ฅผ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค.

์ƒ์ˆ˜์— ๋Œ€ํ•œ ์ดํ•ด๋ฅผ ํ•˜๋ฉด ์ƒ์ˆ˜๋Š” ํฌ๊ฒŒ ์ด๋ฆ„์ด ์žˆ๋Š” ์ƒ์ˆ˜์™€ ์ด๋ฆ„์ด ์—†๋Š” ์ƒ์ˆ˜๋กœ ๋‚˜๋‰˜๋ฉฐ, ์ƒ์ˆ˜ ์—ญ์‹œ ์•ž์„œ ์„ค๋ช…ํ•œ int, double๊ณผ ๊ฐ™์€ ์ž๋ฃŒํ˜•์„ ๊ทผ๊ฑฐ๋กœ ํ‘œํ˜„์ด ๋œ๋‹ค.

 

์ž๋ฃŒํ˜•์˜ ๋ณ€ํ™˜์„ ํ•  ๋•Œ ๋Œ€์ž…์—ฐ์‚ฐ์ž์˜ ์ „๋‹ฌ๊ณผ์ •์—์„œ ๋ฐœ์ƒํ•˜๋Š” ์ž๋™ ํ˜• ๋ณ€ํ™˜์—์„œ ์‹ค์ˆ˜ํ˜• ๋ฐ์ดํ„ฐ๋ฅผ ์ •์ˆ˜ํ˜• ๋ฐ์ดํ„ฐ๋กœ ๋ณ€ํ™˜ํ•˜๋Š” ๊ณผ์ •์—์„œ๋Š” โ€˜์†Œ์ˆ˜๋ถ€์˜ ์†์‹คโ€™์ด ๋ฐœ์ƒํ•œ๋‹ค.

But int num = 129;

char ch =num;

์ด๋Ÿด ๋•Œ๋Š” ?

์ด๋Ÿด ๊ฒฝ์šฐ ๋ฐ์ดํ„ฐ๋ฅผ ๋ณ€์ˆ˜ ch์— ์ €์žฅํ•˜๊ธฐ ์œ„ํ•ด์„œ 1byte๋กœ ์ค„์—ฌ์•ผํ•œ๋‹ค. ์ฆ‰ โ€˜ ์ƒ์œ„ ๋ฐ”์ดํŠธ์˜ ์†์‹คโ€™์ด ๋ฐœ์ƒํ•œ๋‹ค.

์ •๋ฆฌ๋ฅผ ํ•˜์ž๋ฉด

์ •์ˆ˜๋ฅผ ์‹ค์ˆ˜๋กœ ํ˜• ๋ณ€ํ™˜ํ•˜๋Š” ๊ฒฝ์šฐ : ์‹ค์ˆ˜์˜ ํ‘œํ˜„ ๋ฒ”์œ„๊ฐ€ ์ •์ˆ˜์—ใ… ๋น„ํ•ด ํ›จ์”ฌ ๋„“๊ธฐ ๋•Œ๋ฌธ์— ๋ฐ์ดํ„ฐ์˜ ์†์‹ค์€ ์ผ์–ด๋‚˜์ง€ ์•Š๋Š”๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ์‹ค์ˆ˜์˜ ํ‘œํ˜„์ด๊ธฐ ๋•Œ๋ฌธ์— ์˜ค์ฐจ๋Š” ์กด์žฌํ•œ๋‹ค.

์‹ค์ˆ˜๋ฅผ ์ •์ˆ˜๋กœ ํ˜• ๋ณ€ํ™˜ํ•˜๋Š” ๊ฒฝ์šฐ : ์†Œ์ˆ˜์  ์ดํ•˜์˜ ๊ฐ’์„ ํ‘œํ˜„ํ•˜์ง€ ๋ชปํ•˜๊ธฐ ๋•Œ๋ฌธ์—, ์†Œ์ˆ˜์  ์ดํ•˜์˜ ๊ฐ’์€ ๋ฒ„๋ ค์ง„๋‹ค.

๋ฐ”์ดํŠธ ํฌ๊ธฐ๊ฐ€ ํฐ ์ •์ˆ˜๋ฅผ ๋ฐ”์ดํŠธ ํฌ๊ธฐ๊ฐ€ ์ž‘์€ ์ •์ˆ˜๋กœ ํ˜• ๋ณ€ํ™˜ํ•˜๋Š” ๊ฒฝ์šฐ : ๋ณ€ํ™˜ํ•˜๊ณ ์ž ํ•˜๋Š” ์ •์ˆ˜์˜ ๋ฐ”์ดํŠธ ํฌ๊ธฐ์— ๋งž์ถฐ์„œ ์ƒ์œ„ ๋ฐ”์ดํŠธ๋ฅผ ๋‹จ์ˆœํžˆ ์†Œ๋ฉธ์‹œํ‚จ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์ด๋กœ ์ธํ•ด์„œ ๋ถ€ํ˜ธ๊ฐ€ ๋ฐ”๋€” ์ˆ˜๋„ ์žˆ๋‹ค.

 

๋ฐ˜๋ณต๋ฌธ - while

while(์กฐ๊ฑด๋ฌธ)

{

๋ฐ˜๋ณต๋ฌธ

}

 

do ~ while

do

{

๋ฐ˜๋ณต๋ฌธ

}while(์กฐ๊ฑด๋ฌธ)

 

for(์ดˆ๊ธฐ์‹; ์กฐ๊ฑด์‹; ์ฆ๊ฐ์‹)

{

๋ฐ˜๋ณต๋ฌธ

}

 

์กฐ๊ฑด์‹ if๋ฌธ

if(์กฐ๊ฑด์‹)

{

์กฐ๊ฑด๋ฌธ

}

if ~else๋ฌธ์„ ์ด์šฉํ•˜์—ฌ ํ๋ฆ„์„ ๋ถ„๊ธฐ ํ•  ์ˆ˜ ์žˆ๋‹ค.

else๋ฅผ ์ด์šฉํ•˜์—ฌ if์กฐ๊ฑด์„ ์ œ์™ธํ•œ ๋‹ค๋ฅธ ๊ฐ’์— ๋Œ€ํ•œ ์กฐ๊ฑด์„ ์‹คํ–‰ํ•œ๋‹ค..

if else if else์˜ ๊ตฌ์„ฑ

if(์กฐ๊ฑด1)

{

์กฐ๊ฑด1 ๋งŒ์กฑ ์‹œ ์‹คํ–‰

}

else if(์กฐ๊ฑด2)

{

//์กฐ๊ฑด2 ๋งŒ์กฑ ์‹œ ์‹คํ–‰

}

else if(์กฐ๊ฑด3)

{

//์กฐ๊ฑด3 ๋งŒ์กฑ ์‹œ ์‹คํ–‰

}

 

continue & break

break๋Š” ๋ฐ˜๋ณต๋ฌธ์„ ํƒˆ์ถœํ•  ๋•Œ ์‚ฌ์šฉํ•œ๋‹ค.

continue๋Š” ๋ฐ˜๋ณต๋ฌธ์—์„œ ๋‚˜๋จธ์ง€ ์ƒ๋žตํ•˜๊ณ  ๋ฐ˜๋ณต์กฐ๊ฑด์„ ํ™•์ธํ•  ๋•Œ ์‚ฌ์šฉํ•œ๋‹ค.

 

switch๋ฌธ?

switch(๋ณ€์ˆ˜)

{

case :

{

์‹คํ–‰๋ฌธ

}

case :

{

์‹คํ–‰๋ฌธ

} => switch ๋ฌธ์˜ ๊ธฐ๋ณธ ๊ตฌ์„ฑ

switch๋ฌธ์€ ์„ ํƒ๋ฌธ์ด๋‹ค. ์ฆ‰, ์‚ฌ์šฉ์ž๊ฐ€ ์„ ํƒํ•˜๋Š” ๊ฒƒ์— ๋งž์ถฐ ์‹คํ–‰์‹œํ‚จ๋‹ค.

goto?

goto๋Š” ์ด๋ฆ„ ๊ทธ๋Œ€๋กœ ํ”„๋กœ๊ทธ๋žจ์˜ ํ๋ฆ„์„ ์›ํ•˜๋Š” ์œ„์น˜๋กœ ์ด๋™ํ•  ๋•Œ ์‚ฌ์šฉํ•˜๋Š” ํ‚ค์›Œ๋“œ์ด๋‹ค.

๊ทธ๋Ÿฌ๋‚˜ goto์˜ ๋‹จ์ ์€ โ€˜ํ”„๋กœ๊ทธ๋žจ์˜ ์ž์—ฐ์Šค๋Ÿฌ์šด ํ๋ฆ„์„ ๋ฐฉํ•ดํ•œ๋‹ค.โ€™

์ด๊ฒŒ ์™œ ๋ฌธ์ œ์ผ๊นŒ? C์–ธ์–ด๋Š” ์ ˆ์ฐจ์ง€ํ–ฅ ์–ธ์–ด์ด๊ธฐ ๋•Œ๋ฌธ์— ํ๋ฆ„์„ ๋”ฐ๋ผ ์ด๋™ํ•œ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ goto๋ฅผ ์“ฐ๊ฒŒ ๋˜๋ฉด ํ๋ฆ„์„ ๊นจ๋ฒ„๋ฆฌ๊ณ  ๊ฐ•์ œ์ ์œผ๋กœ ์ด๋™ํ•˜๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค.

 

 

 

 

 

 

ํ•จ์ˆ˜

๊ณผ์—ฐ ํ•จ์ˆ˜๋ฅผ ๋งŒ๋“œ๋Š” ์ด์œ ๋Š” ๋ฌด์—‡์ผ๊นŒ?

ํ•จ์ˆ˜๋ฅผ ๋งŒ๋“œ๋Š” ์ด์œ ๋Š” ๋น ๋ฅด๊ณ  ์ˆ˜์ •์ด ํŽธ๋ฆฌํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๋งŒ๋“œ๋Š” ๊ฒƒ์ด๋‹ค.

ํ”„๋กœ๊ทธ๋žจ์˜ ๊ตฌํ˜„์„ ํ•˜๋‹ค๋ณด๋ฉด ๋ณต์žกํ•œ ๊ฒƒ์€ ๋‹น์—ฐํ•˜๋‹ค. ์ด๋Ÿฌํ•œ ํ”„๋กœ๊ทธ๋žจ ๊ตฌํ˜„ ์ค‘ ์–ด๋””์—์„œ ํ‹€๋ ธ๋Š”์ง€ ์–ด๋””์—์„œ ๋ง‰ํ˜”๋Š”์ง€๋ฅผ ์ข€ ๋” ๋น ๋ฅด๊ฒŒ ์ˆ˜์ •ํ•˜๊ธฐ ์œ„ํ•ด์„œ ์‚ฌ์šฉํ•œ๋‹ค.

 

๋ณ€์ˆ˜

๋ณ€์ˆ˜๋Š” ์„ ์–ธ๋˜๋Š” ์œ„์น˜์— ๋”ฐ๋ผ์„œ ํฌ๊ฒŒ โ€˜์ „์—ญ๋ณ€์ˆ˜โ€™์™€ โ€˜์ง€์—ญ๋ณ€์ˆ˜โ€™๋กœ ๋‚˜๋‰œ๋‹ค.

๊ณผ์—ฐ ๋‘ ๊ฐ€์ง€์˜ ์ฐจ์ด์ ์€?

๋ฉ”๋ชจ๋ฆฌ์ƒ์— ์กด์žฌํ•˜๋Š” ๊ธฐ๊ฐ„

๋ณ€์ˆ˜์— ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ๋Š” ๋ฒ”์œ„

ํ•จ์ˆ˜ ๋‚ด์—๋งŒ ์กด์žฌ ๋ฐ ์ ‘๊ทผ ๊ฐ€๋Šฅํ•œ ์ง€์—ญ๋ณ€์ˆ˜(Local Variable)

โ€˜์ง€์—ญ๋ณ€์ˆ˜โ€™์—์„œ์˜ โ€˜์ง€์—ญโ€™์ด๋ž€ ์ค‘๊ด„ํ˜ธ์— ์˜ํ•ด ํ˜•์„ฑ๋˜๋Š” ์˜์—ญ์„ ๋œปํ•œ๋‹ค. ๋”ฐ๋ผ์„œ ์ค‘๊ด„ํ˜ธ ๋‚ด์— ์„ ์–ธ๋˜๋Š” ๋ณ€์ˆ˜๋Š” ๋ชจ๋‘ ์ง€์—ญ๋ณ€์ˆ˜์ด๋‹ค.

๊ทธ๋Ÿฌ๋‚˜ ์ง€์—ญ๋ณ€์ˆ˜๋Š” ํ•จ์ˆ˜๋ฅผ ๋น ์ ธ๋‚˜๊ฐ€๊ธฐ ์ง์ „๊นŒ์ง€๋งŒ ์กด์žฌํ•œ๋‹ค. ์™œ๋ƒํ•˜๋ฉด ์ง€์—ญ๋ณ€์ˆ˜๋Š” ํ•ด๋‹น์ง€์—ญ์„ ๋ฒ—์–ด๋‚˜๋ฉด ์ž๋™์œผ๋กœ ์†Œ๋ฉธ๋˜๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค.

๋˜ํ•œ ์ง€์—ญ๋ณ€์ˆ˜์˜ ์ง€์—ญ์ด ๋‹ค๋ฅด๋ฉด ์ด๋ฆ„์ด ๊ฐ™์•„๋„ ๋ฌธ์ œ๊ฐ€ ๋˜์ง€ ์•Š๋Š”๋‹ค.

์ง€์—ญ ๋ณ€์ˆ˜์˜ ์ผ์ข…์ธ ๋งค๊ฐœ๋ณ€์ˆ˜

๋งค๊ฐœ๋ณ€์ˆ˜์˜ ๋‹ค์Œ ํŠน์„ฑ์„ ์ง€๋‹Œ๋‹ค.

์„ ์–ธ๋œ ํ•จ์ˆ˜ ๋‚ด์—์„œ๋งŒ ์ ‘๊ทผ ๊ฐ€๋Šฅ

์„ ์–ธ๋œ ํ•จ์ˆ˜๊ฐ€ ๋ฐ˜ํ™˜์„ ํ•˜๋ฉด, ์ง€์—ญ๋ณ€์ˆ˜์™€ ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ ์†Œ๋ฉธ

 

์ „์—ญ๋ณ€์ˆ˜?

์ด๋ฆ„์ด ์˜๋ฏธํ•˜๋“ฏ์ด ์–ด๋””์„œ๋“  ์ ‘๊ทผ์ด ๊ฐ€๋Šฅํ•œ ๋ณ€์ˆ˜๋กœ์จ ์ง€์—ญ๋ณ€์ˆ˜์™€ ๋‹ฌ๋ฆฌ ์ค‘๊ด„ํ˜ธ ๋‚ด์— ์„ ์–ธ๋˜์ง€ ์•Š๋Š”๋‹ค. ๋งŒ์•ฝ ์ „์—ญ๋ณ€์ˆ˜์™€ ๋™์ผํ•œ ์ด๋ฆ„์˜ ์ง€์—ญ๋ณ€์ˆ˜๊ฐ€ ์„ ์–ธ๋˜๋ฉด ํ•ด๋‹น ์ง€์—ญ ๋‚ด์—์„œ๋Š” ์ „์—ญ๋ณ€์ˆ˜๊ฐ€ ๊ฐ€๋ฆฌ์›Œ์ง€๊ณ , ์ง€์—ญ๋ณ€์ˆ˜๋กœ์˜ ์ ‘๊ทผ์ด ์ด๋ค„์ง„๋‹ค.

 

์ „์—ญ๋ณ€์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์„ ์ข‹๋‹ค๊ณ  ์ƒ๊ฐํ•˜๊ณ  ๋งŽ์ด ์‚ฌ์šฉํ•˜๋Š” ์‚ฌ๋žŒ๋“ค์ด ์žˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ์ด๋Š” ์ข‹์€ ๋ฐฉ๋ฒ•์ด ์•„๋‹ˆ๋‹ค. ์™œ๋ƒํ•˜๋ฉด ์ „์—ญ๋ณ€์ˆ˜๋Š” ํ”„๋กœ๊ทธ๋žจ์˜ ๊ตฌ์กฐ๋ฅผ ๋ณต์žกํ•˜๊ฒŒ ๋งŒ๋“œ๋Š” ์ฃผ๋ฒ”์ด๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค.

 

์ง€์—ญ๋ณ€์ˆ˜์— static ์„ ์–ธ์„ ์ถ”๊ฐ€ํ•ด์„œ ๋งŒ๋“œ๋Š” static๋ณ€์ˆ˜

์ง€์—ญ๋ณ€์ˆ˜์— static์„ ์„ ์–ธ์„ ํ•˜๊ฒŒ ๋˜๋ฉด ์ „์—ญ๋ณ€์ˆ˜์˜ ์„ฑ๊ฒฉ์„ ์ง€๋‹ˆ๋Š” ๋ณ€์ˆ˜๊ฐ€ ๋œ๋‹ค.

์ด๋Š” ๋‘๊ฐ€์ง€์˜ ํŠน์„ฑ์ด ์žˆ๋Š”๋ฐ

์„ ์–ธ๋œ ํ•จ์ˆ˜ ๋‚ด์—์„œ๋งŒ ์ ‘๊ทผ์ด ๊ฐ€๋Šฅํ•˜๋‹ค.

ํ•จ์ˆ˜ ๋‚ด์— ์„ ์–ธ๋œ ์ง€์—ญ๋ณ€์ˆ˜๋Š” ํ•ด๋‹น ํ•จ์ˆ˜๊ฐ€ ๋ฐ˜ํ™˜ํ•˜๋ฉด ์†Œ๋ฉธ๋œ๋‹ค.

๊ทธ๋Ÿฌ๋‚˜ ํ•จ์ˆ˜ ๋‚ด์— ์„ ์–ธ๋œ ์ง€์—ญ๋ณ€์ˆ˜์— static ์„ ์–ธ์ด ๋ถ™๊ฒŒ ๋˜๋ฉด

์„ ์–ธ๋œ ํ•จ์ˆ˜ ๋‚ด์—์„œ๋งŒ ์ ‘๊ทผ๊ฐ€๋Šฅํ•˜๋‹ค.(์ง€์—ญ๋ณ€์ˆ˜ ํŠน์„ฑ)

๋”ฑ 1ํšŒ ์ดˆ๊ธฐํ™”๋˜๊ณ  ํ”„๋กœ๊ทธ๋žจ ์ข…๋ฃŒ ์‹œ๊นŒ์ง€ ๋ฉ”๋ชจ๋ฆฌ ๊ณต๊ฐ„์— ์กด์žฌํ•œ๋‹ค.(์ „์—ญ๋ณ€์ˆ˜ ํŠน์„ฑ)

 

register๋ณ€์ˆ˜

์ง€์—ญ๋ณ€์ˆ˜์—๋Š” register๋ผ๋Š” ์„ ์–ธ์„ ์ถ”๊ฐ€ํ•  ์ˆ˜ ์žˆ๋‹ค. ์ด๋ฅผ ๋ ˆ์ง€์Šคํ„ฐ ๋ณ€์ˆ˜๋ผ๊ณ  ํ•œ๋‹ค.

์ด๋Š” ๋ ˆ์ง€์Šคํ„ฐ๋ผ๋Š” ๋ฉ”๋ชจ๋ฆฌ ๊ณต๊ฐ„์— ์ €์žฅ๋  ํ™•๋ฅ ์ด ๋†’์•„์ง„๋‹ค. ์™œ๋ƒํ•˜๋ฉด ์ปดํŒŒ์ผ๋Ÿฌ์—๊ฒŒ ์ ‘๊ทผ์„ ๋น ๋ฅด๊ฒŒ ํ•˜๋ผ๊ณ  ๋ช…๋ น์„ ์ „๋‹ฌํ•˜๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค.

 

์žฌ๊ท€ํ•จ์ˆ˜๋ž€?

ํ•จ์ˆ˜ ๋‚ด์—์„œ ์ž๊ธฐ ์ž์‹ ์„ ๋‹ค์‹œ ํ˜ธ์ถœํ•˜๋Š” ํ•จ์ˆ˜๋ฅผ ์˜๋ฏธํ•œ๋‹ค.

 

๋ฐฐ์—ด์ด๋ž€?

๋‹ค์ˆ˜์˜ ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•˜๊ณ  ์ฒ˜๋ฆฌํ•˜๋Š” ๊ฒฝ์šฐ์— ์œ ์šฉํ•˜๊ฒŒ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ๊ฒƒ์ด ๋ฐฐ์—ด์ด๋‹ค.

๋ฐฐ์—ด์„ ์–ธ์€ int pwnplay[5]; ์ด๋Ÿฐ์‹์œผ๋กœ ํ•œ๋‹ค.

๋ฌธ์ž์—ด ๋งˆ์ง€๋ง‰์—๋Š” null ๊ฐ’์ด ๋“ค์–ด๊ฐ„๋‹ค.

์ฆ‰ char str[14]=โ€œGood morning!\0โ€

์ด๋Ÿฌํ•œ ์‹์œผ๋กœ ๋“ค์–ด๊ฐ€๊ฒŒ ๋˜๋Š” ๊ฒƒ์ด๋‹ค.

๊ทธ๋Ÿผ ์™œ null์ดํ•„์š”ํ• ๊นŒ?

์ด๋Š” null์„ ์ด์šฉํ•˜์—ฌ ๋ฌธ์ž์˜ ๋์„ ํ‘œ์‹œ ํ•ด์ฃผ๋Š” ๊ฒƒ์ด๋‹ค.

 

ํฌ์ธํ„ฐ๋ž€?

C์–ธ์–ด์˜ ๊ฝƒ ํฌ์ธํ„ฐ๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๋ฉ”๋ชจ๋ฆฌ์— ์ง์ ‘ ์ ‘๊ทผ์ด ๊ฐ€๋Šฅํ•˜๋‹ค.

 

์ผ๋ฐ˜์ ์œผ๋กœ ํฌ์ธํ„ฐ๋Š” &์™€ *์—ฐ์‚ฐ์ž๋ฅผ ๊ฐ€๋ฆฌ์ผœ ํฌ์ธํ„ฐ ์—ฐ์‚ฐ์ž๋ผ ํ•˜๋Š”๋ฐ *์—ฐ์‚ฐ์ž๋Š” ๊ณฑ์…ˆ์—ฐ์‚ฐ์ž๊ฐ€ ์•„๋‹ˆ๋ผ ํ”ผ์—ฐ์‚ฐ์ž๊ฐ€ ํ•œ ๊ฐœ์ธ ๋‹จํ•ญ ์—ฐ์‚ฐ์ž์ด๋‹ค.

&์—ฐ์‚ฐ์ž๋Š” ํ”ผ์—ฐ์‚ฐ์ž์˜ ์ฃผ์†Œ ๊ฐ’์„ ๋ฐ˜ํ™˜ํ•˜๋Š” ์—ฐ์‚ฐ์ž์ด๋‹ค. &์—ฐ์‚ฐ์ž๋Š”

int main(void)

{

int num=5;

int * pnum = &num;

}

*์—ฐ์‚ฐ์ž๋Š” ํฌ์ธํ„ฐ๊ฐ€ ๊ฐ€๋ฆฌํ‚ค๋Š” ๋ฉ”๋ชจ๋ฆฌ ๊ณต๊ฐ„์— ์ ‘๊ทผํ•  ๋•Œ ์‚ฌ์šฉํ•˜๋Š” ์—ฐ์‚ฐ์ž์ด๋‹ค.

ํฌ์ธํ„ฐํ˜•์€ ๋‹ค์–‘ํ•˜๊ฒŒ ์กด์žฌํ•œ๋‹ค. ํฌ์ธํ„ฐํ˜•์ด ๋‹ค์–‘ํ•˜๊ฒŒ ์กด์žฌํ•˜๋Š” ์ด์œ ๋Š” ํฌ์ธํ„ฐ์˜ ํ˜•์€ ๋ฉ”๋ชจ๋ฆฌ ๊ณต๊ฐ„์„ ์ฐธ์กฐํ•˜๋Š” ๊ธฐ์ค€์ด ๋œ๋‹ค. ์ฆ‰, ํฌ์ธํ„ฐ ํ˜•์„ ์ •์˜ํ•œ ์ด์œ ๋Š” *์—ฐ์‚ฐ์ž๋ฅผ ํ†ตํ•œ ๋ฉ”๋ชจ๋ฆฌ ๊ณต๊ฐ„์˜ ์ ‘๊ทผ ๊ธฐ์ค€์„ ๋งˆ๋ จํ•˜๊ธฐ ์œ„ํ•จ์ด๋‹ค.

ํฌ์ธํ„ฐ ๋ณ€์ˆ˜์—๋Š” ๋ฉ”๋ชจ๋ฆฌ์˜ ์ฃผ์†Œ ๊ฐ’์ด ์ €์žฅ๋˜๊ณ , ์ด๋ฅผ ์ด์šฉํ•ด์„œ ํ•ด๋‹น ๋ฉ”๋ชจ๋ฆฌ ๊ณต๊ฐ„์— ์ ‘๊ทผ๋„ ๊ฐ€๋Šฅํ•˜๊ธฐ ๋•Œ๋ฌธ์— ํฌ์ธํ„ฐ์™€ ๊ด€๋ จํ•ด์„œ๋Š” ์ƒ๋‹นํžˆ ์ฃผ์˜ํ•ด์•ผ ํ•œ๋‹ค.

 

๊ณผ์—ฐ ๋ฐฐ์—ด์˜ ์ด๋ฆ„์€ ๋ฌด์—‡์„ ์˜๋ฏธํ•˜๋Š” ๊ฒƒ์ผ๊นŒ?

๋ฐฐ์—ด์˜ ์ด๋ฆ„์€ ํฌ์ธํ„ฐ์ด๋‹ค. ๋‹จ, ๊ทธ ๊ฐ’์„ ๋ฐ”๊ฟ€ ์ˆ˜ ์—†๋Š” โ€˜์ƒ์ˆ˜ ํ˜•ํƒœ์˜ ํฌ์ธํ„ฐโ€™์ด๋‹ค.

์ฆ‰, ๋ฐฐ์—ด์˜ ์ด๋ฆ„์€ ๋ฐฐ์—ด์˜ ์‹œ์ž‘ ์ฃผ์†Œ ๊ฐ’์„ ์˜๋ฏธํ•˜๋ฉฐ, ๊ทธ ํ˜•ํƒœ๋Š” ๊ฐ’์˜ ์ €์žฅ์ด ๋ถˆ๊ฐ€๋Šฅํ•œ ์ƒ์ˆ˜์ด๋‹ค.

๋˜ํ•œ ๋ฐฐ์—ด์˜ ์ด๋ฆ„๋„ ํฌ์ธํ„ฐ์ด๊ธฐ ๋•Œ๋ฌธ์— ๋ฐฐ์—ด์˜ ์ด๋ฆ„์„ ํ”ผ์—ฐ์‚ฐ์ž๋กœ ํ•˜๋Š” *์—ฐ์‚ฐ์ด ๊ฐ€๋Šฅํ•˜๋‹ค.

ํฌ์ธํ„ฐ๋ฅผ ๋ฐฐ์—ด์˜ ์ด๋ฆ„์ฒ˜๋Ÿผ ์‚ฌ์šฉ ๋˜ํ•œ ํ• ์ˆ˜ ์žˆ๋‹ค.

 

arr[i]==*(arr+i) ์ด๊ฒŒ์งฑ์ด๋‹ค.

๊ฐ’์„ ์ „๋‹ฌํ•˜๋Š” ํ˜•ํƒœ์˜ ํ•จ์ˆ˜ํ˜ธ์ถœ : Call-by-value

ํ•จ์ˆ˜๋ฅผ ํ˜ธ์ถœํ•  ๋•Œ ๋‹จ์ˆœํžˆ ๊ฐ’์„ ์ „๋‹ฌํ•˜๋Š” ํ˜•ํƒœ์˜ ํ•จ์ˆ˜ ํ˜ธ์ถœ์„ ๊ฐ€๋ฆฌ์ผœ Call-by-value์ด๋ผ ํ•˜๊ณ , ๋ฉ”๋ชจ๋ฆฌ์˜ ์ ‘๊ทผ์— ์‚ฌ์šฉ๋˜๋Š” ์ฃผ์†Œ ๊ฐ’์„ ์ „๋‹ฌํ•˜๋Š” ํ˜•ํƒœ์˜ ํ•จ์ˆ˜ ํ˜ธ์ถœ์„ ๊ฐ€๋ฆฌ์ผœ Call-by-reference๋ผ ํ•œ๋‹ค. ์ฆ‰, Call-by-value์™€ Call-by-reference๋ฅผ ๊ตฌ๋ถ„ํ•˜๋Š” ๊ธฐ์ค€์€ ํ•จ์ˆ˜์˜ ์ธ์ž๋กœ ์ „๋‹ฌ๋˜๋Š” ๋Œ€์ƒ์— ์žˆ๋‹ค.

์ด์ฏค๋˜๋ฉด scanf์—์„œ &๋ฅผ ์“ฐ๋Š” ์ด์œ ๋ฅผ ์•Œ์ˆ˜ ์žˆ์„ ๊ฒƒ์ด๋‹ค. ์ด๋Š” scanf๋กœ ์ž…๋ ฅ์„ ๋ฐ›์œผ๋ฉด ์ฃผ์†Œ๊ฐ’์„ ์•Œ์•„๋‚ด๊ธฐ์œ„ํ•ด &๋ฅผ ์ž…๋ ฅํ•œ๋‹ค.

 

ํฌ์ธํ„ฐ ๋Œ€์ƒ์˜ const?

const๋ฅผ ์“ฐ๋Š” ์ด์œ ๋Š” const๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ํ”„๋กœ๊ทธ๋žจ์˜ ์•ˆ์ „์„ฑ์ด ๋†’์•„์ง€๊ธฐ ๋•Œ๋ฌธ์— ์‚ฌ์šฉํ•œ๋‹ค.

 

๋‹ค์ฐจ์› ๋ฐฐ์—ด์˜ ์ดํ•ด์™€ ํ™œ์šฉ

2์ฐจ์›?3์ฐจ์›?

๋ฌผ๋ก  4,5์ฐจ์›๋„ ์žˆ์ง€๋งŒ ์ž˜์“ฐ์ง€์•Š๋Š”๋‹ค

๋‹ค์ฐจ์› ๋ฐฐ์—ด์„ ์„ ์–ธํ•˜๋Š” ๋ฐฉ๋ฒ•์€ int pwnplay[์„ธ๋กœ๊ธธ์ด][๊ฐ€๋กœ๊ธธ์ด]์ด๋Ÿฌํ•œ ํ˜•์‹์œผ๋กœ ์„ ์–ธํ•œ๋‹ค.

๋˜ํ•œ int pwnplay[3][3]={1,2,3,4,5,6,7,0,0};์ด๋Ÿฌํ•œ ์‹์œผ๋กœ ์„ ์–ธ๋„ ๊ฐ€๋Šฅํ•˜๋‹ค.

3์ฐจ์› ๋ฐฐ์—ด์€

int pwnplay[๋†’์ด][์„ธ๋กœ][๊ฐ€๋กœ]; ํ˜•์‹์˜ ์„ ์–ธ์„ ํ•œ๋‹ค.

 

ํฌ์ธํ„ฐ ๋ณ€์ˆ˜๋Š” ์ข…๋ฅ˜์— ์ƒ๊ด€์—†์ด ๋ฌด์กฐ๊ฑด ์ฃผ์†Œ ๊ฐ’์„ ์ €์žฅํ•˜๋Š” ๋ณ€์ˆ˜์ด๋‹ค. ๋‹ค๋งŒ ์ฐจ์ด๊ฐ€ ๋‚˜๋Š” ๊ฒƒ์€ ํฌ์ธํ„ฐ ๋ณ€์ˆ˜๊ฐ€ ๊ฐ€๋ฆฌํ‚ค๋Š” ๋Œ€์ƒ์ผ ๋ฟ์ด๋‹ค.

์ด์ค‘ ํฌ์ธํ„ฐ๋ฅผ ๊ฐ€๋ฆฌํ‚ค๋Š” ์‚ผ์ค‘ํฌ์ธํ„ฐ?

***์ด๊ฐ€ ์„ธ ๊ฐœ ์‚ฝ์ž…๋œ ํฌ์ธํ„ฐ ๋ณ€์ˆ˜๋ฅผ ๊ฐ€๋ฆฌ์ผœ ์ผ๋ฐ˜์ ์œผ๋กœ โ€˜์‚ผ์ค‘ ํฌ์ธํ„ฐ ๋ณ€์ˆ˜โ€™๋ผ ๋ถ€๋ฅธ๋‹ค.

โ€œ์‚ผ์ค‘ ํฌ์ธํ„ฐ ๋ณ€์ˆ˜๋Š” ์ด์ค‘ ํฌ์ธํ„ฐ ๋ณ€์ˆ˜๋ฅผ ๊ฐ€๋ฆฌํ‚ค๋Š” ์šฉ๋„๋กœ, ์ด์ค‘ ํฌ์ธํ„ฐ ๋ณ€์ˆ˜์˜ ์ฃผ์†Œ ๊ฐ’์„ ์ €์žฅํ•˜๋Š” ์šฉ๋„๋กœ ์‚ฌ์šฉ๋œ๋‹ค.โ€

 

์ง€๊ธˆ๊นŒ์ง€ ๊ณต๋ถ€ํ•œ ๊ฒƒ์„ ๋ณด๋ฉด ํ˜•์ด ์กด์žฌํ•˜์ง€ ์•Š๋Š” ๊ฒƒ์ด ํ•˜๋‚˜ ์žˆ๋Š” ๊ฒƒ์„ ๋ณผ์ˆ˜ ์žˆ๋‹ค.

์ฆ‰ void ํฌ์ธํ„ฐ์ธ๋ฐ

ex) void * ptr;

voidํ˜• ํฌ์ธํ„ฐ ๋ณ€์ˆ˜๋Š” ๋ฌด์—‡์ด๋“  ๋‹ด์„ ์ˆ˜ ์žˆ๋Š” ๋ฐ”๊ตฌ๋‹ˆ์— ๋น„์œ ํ•  ์ˆ˜ ์žˆ๋‹ค. voidํ˜• ํฌ์ธํ„ฐ ๋ณ€์ˆ˜์—๋Š” ์–ด๋– ํ•œ ๋ณ€์ˆ˜์˜ ์ฃผ์†Œ ๊ฐ’์ด๋“  ๋‹ด์„ ์ˆ˜ ์žˆ๋‹ค.

 

mainํ•จ์ˆ˜๋ฅผ ํ†ตํ•œ ์ธ์ž์˜ ์ „๋‹ฌ?

ํ”„๋กœ๊ทธ๋žจ ์‹คํ–‰ ์‹œ main ํ•จ์ˆ˜๋กœ ์ „๋‹ฌํ•  ์ธ์ž๋ฅผ ์—ด๊ฑฐํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ mainํ•จ์ˆ˜ ์—ญ์‹œ ์ด๋Ÿฌํ•œ ์ธ์ž๋ฅผ ์ „๋‹ฌ๋ฐ›์„ ์ˆ˜ ์žˆ๋„๋ก ์ œํ•œ๋œ ํ˜•ํƒœ์˜ ๋งค๊ฐœ๋ณ€์ˆ˜ ์„ ์–ธ์ด ๊ฐ€๋Šฅํ•˜๋‹ค.

ex) int main(int argc, char *argv[])

char *argv[]๋Š” TYPEํ˜• 1์ฐจ์› ๋ฐฐ์—ด์˜ ์ด๋ฆ„(์ฃผ์†Œ๊ฐ’)์„ ์ธ์ž๋กœ ์ „๋‹ฌ๋ฐ›์„ ์ˆ˜ ์žˆ๋Š” ๋งค๊ฐœ๋ณ€์ˆ˜ ์„ ์–ธ์ด๋‹ค.

 

 

๋ฌธ์ž ์ถœ๋ ฅ ํ•จ์ˆ˜ : putchar, fputc

putchar ํ•จ์ˆ˜๋Š” ์ธ์ž๋กœ ์ „๋‹ฌ๋œ ๋ฌธ์ž์ •๋ณด๋ฅผ stdout์œผ๋กœ ํ‘œํ˜„๋˜๋Š” ํ‘œ์ค€ ์ถœ๋ ฅ ์ŠคํŠธ๋ฆผ์œผ๋กœ ์ „์†กํ•˜๋Š” ํ•จ์ˆ˜์ด๋‹ค. ๋”ฐ๋ผ์„œ ์ธ์ž๋กœ ์ „๋‹ฌ๋œ ๋ฌธ์ž๋ฅผ ๋ชจ๋‹ˆํ„ฐ๋กœ ์ถœ๋ ฅํ•˜๋Š” ํ•จ์ˆ˜๋ผ ํ•  ์ˆ˜ ์žˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ๋ฌธ์ž๋ฅผ ์ „์†กํ•œ๋‹ค๋Š” ์ธก๋ฉด์—์„œ๋Š” fputc ํ•จ์ˆ˜์™€ putchar ํ•จ์ˆ˜์™€ ๋™์ผํ•˜๋‹ค. ๋‹จ, fputcํ•จ์ˆ˜๋Š” ๋ฌธ์ž๋ฅผ ์ „์†กํ•  ์ŠคํŠธ๋ฆผ์„ ์ง€์ •ํ•  ์ˆ˜ ์žˆ๋‹ค. ์ฆ‰ fputcํ•จ์ˆ˜๋ฅผ ์ด์šฉํ•˜๋ฉด stdout๋ฟ๋งŒ ์•„๋‹ˆ๋ผ, ํŒŒ์ผ์„ ๋Œ€์ƒ์œผ๋กœ๋„ ๋ฐ์ดํ„ฐ๋ฅผ ์ „์†กํ•  ์ˆ˜ ์žˆ๋‹ค.

 

๋ฌธ์ž ์ž…๋ ฅ ํ•จ์ˆ˜ : getchar, fgetc

getchar ํ•จ์ˆ˜๋Š” stdin์œผ๋กœ ํ‘œํ˜„๋˜๋Š” ํ‘œ์ค€ ์ž…๋ ฅ ์ŠคํŠธ๋ฆผ์œผ๋กœ๋ถ€ํ„ฐ ํ•˜๋‚˜์˜ ๋ฌธ์ž๋ฅผ ์ž…๋ ฅ ๋ฐ›์•„์„œ ๋ฐ˜ํ™˜ํ•˜๋Š” ํ•จ์ˆ˜๋‹ค.

fgetc ํ•จ์ˆ˜๋Š” getcharํ•จ์ˆ˜์™€ ๋‹ฌ๋ฆฌ ๋ฌธ์ž๋ฅผ ์ž…๋ ฅ ๋ฐ›์„ ์ŠคํŠธ๋ฆผ์„ ์ง€์ •ํ•  ์ˆ˜ ์žˆ๋‹ค.

 

๋ฌธ์ž์—ด ์ถœ๋ ฅ ํ•จ์ˆ˜ : puts, fputs

puts ํ•จ์ˆ˜๋Š” ์ถœ๋ ค๊ทธ์ด ๋Œ€์ƒ์ด stdout์œผ๋กœ ๊ฒฐ์ •๋˜์–ด ์žˆ์ง€๋งŒ, fputs ํ•จ์ˆ˜๋Š” ๋‘ ๋ฒˆ์งธ ์ธ์ž๋ฅผ ํ†ตํ•ด์„œ ์ถœ๋ ฅ์˜ ๋Œ€์ƒ์„ ๊ฒฐ์ •ํ•  ์ˆ˜ ์žˆ๋‹ค. ๋˜ํ•œ ๋‘˜ ๋‹ค ์ฒซ ๋ฒˆ์งธ ์ธ์ž๋กœ ์ „๋‹ฌ๋˜๋Š” ์ฃผ์†Œ ๊ฐ’์˜ ๋ฌธ์ž์—ด์„ ์ถœ๋ ฅํ•˜์ง€๋งŒ, ์ถœ๋ ฅ์˜ ํ˜•ํƒœ์— ์žˆ์–ด ํ•œ ๊ฐ€์ง€ ์ฐจ์ด์ ์ด ์žˆ๋‹ค. ์ด๋Š” puts ํ•จ์ˆ˜๊ฐ€ ํ˜ธ์ถœ๋˜๋ฉด ๋ฌธ์ž์—ด ์ถœ๋ ฅ ํ›„ ์ž๋™์œผ๋กœ ๊ฐœํ–‰์ด ์ด๋ค„์ง€์ง€๋งŒ, fputs ํ•จ์ˆ˜๊ฐ€ ํ˜ธ์ถœ ๋˜๋ฉด ๋ฌธ์ž์—ด ์ถœ๋ ฅ ํ›„ ์ž๋™์œผ๋กœ ๊ฐœํ–‰์ด ์ด๋ค„์ง€์ง€ ์•Š๋Š”๋‹ค.

 

์ด์™ธ์˜ ๋ฌธ์ž์—ด ๊ด€๋ จ ํ•จ์ˆ˜

๋ฌธ์ž์—ด์˜ ๊ธธ์ด๋ฅผ ๋ฐ˜ํ™˜ํ•˜๋Š” ํ•จ์ˆ˜ : strlen

๋ฌธ์ž์—ด์„ ๋ณต์‚ฌํ•˜๋Š” ํ•จ์ˆ˜ : strcpy, strncpy

๋ฌธ์ž์—ด์„ ๋ง๋ถ™์ด๋Š” ํ•จ์ˆ˜ : strcat, strncat

๋ฌธ์ž์—ด์„ ๋น„๊ตํ•˜๋Š” ํ•จ์ˆ˜ : strcmp, strncmp

 

๊ตฌ์กฐ์ฒด๋ž€ ๋ฌด์—‡์ธ๊ฐ€?

๊ตฌ์กฐ์ฒด๋Š” ํ•˜๋‚˜ ์ด์ƒ์˜ ๋ณ€์ˆ˜๋ฅผ ๋ฌถ์–ด์„œ ์ƒˆ๋กœ์šด ์ž๋ฃŒํ˜•์„ ์ •์˜ํ•˜๋Š” ๋„๊ตฌ์ด๋‹ค. ์ฆ‰ ๊ตฌ์กฐ์ฒด๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ์šฐ๋ฆฌ๋Š” ์ƒˆ๋กœ์šด ์ž๋ฃŒํ˜•์„ ์ •์˜ํ•  ์ˆ˜ ์žˆ๋‹ค.

 

๊ตฌ์กฐ์ฒด ๋ณ€์ˆ˜์˜ ์ดˆ๊ธฐํ™”

์ดˆ๊ธฐํ™” ๋ฐฉ๋ฒ•์€ ๋ฐฐ์—ด์˜ ์ดˆ๊ธฐํ™”์™€ ์œ ์‚ฌํ•˜๋‹ค. ์ฆ‰, ๋ฉค๋ฒ„์˜ ์ˆœ์„œ๋Œ€๋กœ ์ดˆ๊ธฐํ™”ํ•  ๋Œ€์ƒ์„ ๋‚˜์—ดํ•˜๋ฉด ๋œ๋‹ค.

 

๊ตฌ์กฐ์ฒด ๋ฐฐ์—ด์˜ ์„ ์–ธ๊ณผ ์ ‘๊ทผ

๋‹ค์ˆ˜์˜ int ํ˜•๋ณ€์ˆ˜๋ฅผ ์„ ์–ธํ— ๋•Œ int ํ˜• ๋ฐฐ์—ด์˜ ์„ ์–ธ์„ ๊ณ ๋ คํ•˜๋“ฏ์ด, ๋‹ค์ˆ˜์˜ ๊ตฌ์กฐ์ฒด ๋ณ€์ˆ˜๋ฅผ ์„ ์–ธํ•  ๋•Œ์—๋Š” ๊ตฌ์กฐ์ฒด ๋ฐฐ์—ด์˜ ์„ ์–ธ์„ ๊ณ ๋ คํ•ด์•ผ ํ•œ๋‹ค.

 

๊ตฌ์กฐ์ฒด ๋ณ€์ˆ˜์™€ ํฌ์ธํ„ฐ

๊ตฌ์กฐ์ฒด ๋ฐฐ์—ด์˜ ์„ ์–ธ ๋ฐ ์ ‘๊ทผ์˜ ๋ฐฉ๋ฒ•์ด ์ผ๋ฐ˜์ ์ธ ๋ฐฐ์—ด์˜ ์„ ์–ธ ๋ฐ ์ ‘๊ทผ์˜ ๋ฐฉ๋ฒ•๊ณผ ๋‹ค๋ฅด์ง€ ์•Š๋“ฏ์ด, ๊ตฌ์กฐ์ฒด ํฌ์ธํ„ฐ ๋ณ€์ˆ˜์˜ ์„ ์–ธ ๋ฐ ์—ฐ์‚ฐ์˜ ๋ฐฉ๋ฒ•๋„ ์ผ๋ฐ˜์ ์ธ ํฌ์ธํ„ฐ ๋ณ€์ˆ˜์˜ ์„ ์–ธ ๋ฐ ์—ฐ์‚ฐ์˜ ๋ฐฉ๋ฒ•๊ณผ ๋‹ค๋ฅด์ง€ ์•Š๋‹ค.

typedef์„ ์–ธ

๋ฌด์—‡์ผ๊นŒ? typedef ์„ ์–ธ์€ ๊ธฐ์กด์— ์กด์žฌํ•˜๋Š” ์ž๋ฃŒํ˜•์˜ ์ด๋ฆ„์— ์ƒˆ ์ด๋ฆ„์„ ๋ถ€์—ฌํ•˜๋Š” ๊ฒƒ์„ ๋ชฉ์ ์œผ๋กœ ํ•˜๋Š” ์„ ์–ธ์ด๋‹ค.

 

๊ตฌ์กฐ์ฒด๋ฅผ ์ •์˜ํ•˜๋Š” ์ด์œ ๋Š”?

๊ตฌ์กฐ์ฒด๋ฅผ ํ†ตํ•ด์„œ ์—ฐ๊ด€ ์žˆ๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ํ•˜๋‚˜๋กœ ๋ฌถ์„ ์ˆ˜ ์žˆ๋Š” ์ž๋ฃŒํ˜•์„ ์ •์˜ํ•˜๋ฉด, ๋ฐ์ดํ„ฐ์˜ ํ‘œํ˜„ ๋ฐ ๊ด€๋ฆฌ๊ฐ€ ์šฉ์ดํ•ด์ง€๊ณ , ๊ทธ๋งŒํผ ํ•ฉ๋ฆฌ์ ์ธ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋œ๋‹ค.

 

์ค‘์ฒฉ๋œ ๊ตฌ์กฐ์ฒด์˜ ์ •์˜์™€ ๋ณ€์ˆ˜์˜ ์„ ์–ธ

๋ฐฐ์—ด์ด๋‚˜ ํฌ์ธํ„ฐ ๋ณ€์ˆ˜๊ฐ€ ๊ตฌ์กฐ์ฒด์˜ ๋ฉค๋ฒ„๋กœ ์„ ์–ธ๋  ์ˆ˜ ์žˆ๋“ฏ์ด, ๊ตฌ์กฐ์ฒด ๋ณ€์ˆ˜๋„ ๊ตฌ์กฐ์ฒด์˜ ๋ฉค๋ฒ„๋กœ ์„ ์–ธ๋  ์ˆ˜ ์žˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์ด๋ ‡๋“ฏ ๊ตฌ์กฐ์ฒด ์•ˆ์— ๊ตฌ์กฐ์ฒด ๋ณ€์ˆ˜๊ฐ€ ๋ฉค๋ฒ„๋กœ ์กด์žฌํ•˜๋Š” ๊ฒฝ์šฐ๋ฅผ ๊ฐ€๋ฆฌ์ผœ โ€˜๊ตฌ์กฐ์ฒด์˜ ์ค‘์ฒฉโ€™์ด๋ผ ํ•œ๋‹ค.

 

ใ…ฃ                     ใ…ฃ

ใ…ฃ                     ใ…ฃ

ใ…กใ…กใ…กใ…กใ…กใ…กใ…กใ…ก

ใ…ฃ                     ใ…ฃ

ใ…ฃ                      ใ…ฃ <== ์ฝ”๋“œ ์˜์—ญ

ใ…กใ…กใ…กใ…กใ…กใ…กใ…กใ…ก

ใ…ฃ                     ใ…ฃ

ใ…ฃ                      ใ…ฃ <== ๋ฐ์ดํ„ฐ ์˜์—ญ

ใ…กใ…กใ…กใ…กใ…กใ…กใ…กใ…ก

ใ…ฃ                      ใ…ฃ

ใ…ฃ                      ใ…ฃ <== ํž™ ์˜์—ญ

ใ…กใ…กใ…กใ…กใ…กใ…กใ…กใ…ก

ใ…ฃ                      ใ…ฃ

ใ…ฃ                      ใ…ฃ <== ์Šคํƒ ์˜์—ญ

ใ…กใ…กใ…กใ…กใ…กใ…กใ…กใ…ก

 

 

์ฝ”๋“œ ์˜์—ญ : ์‹คํ–‰ ํ•  ํ”„๋กœ๊ทธ๋žจ์˜ ์ฝ”๋“œ๊ฐ€ ์ €์žฅ๋˜๋Š” ๋ฉ”๋ชจ๋ฆฌ ๊ณต๊ฐ„

๋ฐ์ดํ„ฐ ์˜์—ญ : ์ด ์˜์—ญ์— ํ• ๋‹น๋˜๋Š” ๋ณ€์ˆ˜๋“ค์€ ํ”„๋กœ๊ทธ๋žจ์˜ ์‹œ์ž‘๊ณผ ๋™์‹œ์— ๋ฉ”๋ชจ๋ฆฌ ๊ณต๊ฐ„์— ํ• ๋‹น๋˜์–ด ํ”„๋กœ๊ทธ๋žจ ์ข…๋ฅ˜ ์‹œ ๊นŒ์ง€ ๋‚จ์•„ ์žˆ์Œ

ํž™ ์˜์—ญ : ์›ํ•˜๋Š” ์‹œ์ ์—์„œ ๋ณ€์ˆ˜๋ฅผ ํ• ๋‹นํ•˜๊ณ  ์†Œ๋ฉธ ์‹œํ‚ฌ์ˆ˜ ์žˆ์Œ

์Šคํƒ ์˜์—ญ : ์ง€์—ญ ๋ณ€์ˆ˜์™€ ๋งค๊ฐœ ๋ณ€์ˆ˜๊ฐ€ ํ• ๋‹น๋œ๋‹ค. ์ฆ‰, ์ด ์˜์—ญ์— ํ• ๋‹น๋œ ๋ณ€์ˆ˜๋“ค์€ ์„ ์–ธ๋œ ํ•จ์ˆ˜๊ฐ€ ๋น ์ ธ๋‚˜๊ฐ€๋ฉด ์†Œ๋ฉธ ๋œ๋‹ค.

 

ํ•จ์ˆ˜๊ฐ€ ํ˜ธ์ถœ ๋˜๋Š” ์ˆœ์„œ : main ํ•จ์ˆ˜ -> fac 1 ํ•จ์ˆ˜ -> fac 2 ํ•จ์ˆ˜

ํ•จ์ˆ˜๊ฐ€ ์†Œ๋ฉธ ๋˜๋Š” ์ˆœ์„œ : fac 2 ํ•จ์ˆ˜ -> fac 1 ํ•จ์ˆ˜ -> main ํ•จ์ˆ˜

์ฆ‰, ๋จผ์ € ํ˜ธ์ถœ ๋œ ํ•จ์ˆ˜์˜ ์Šคํƒ๊ณต๊ฐ„ ์ผ์ˆ˜๋ก ๋Šฆ๊ฒŒ ํ•ด์ฒด ๋œ๋‹ค.

 

free ํ•จ์ˆ˜๋ฅผ ํ˜ธํ’€ํ•˜์ง€ ์•Š์œผ๋ฉด ํ”„๋กœ๊ทธ๋žจ ์ข…๋ฃŒ ํ›„์—๋„ ๋ฉ”๋ชจ๋ฆฌ๊ฐ€ ๋‚จ์„๊นŒ?

-> ํ”„๋กœ๊ทธ๋žจ ์‹คํ–‰์‹œ ํ• ๋‹น๋œ ๋ฉ”๋ชจ๋ฆฌ ๊ณต๊ฐ„์€ ํ”„๋กœ๊ทธ๋žจ์ด ์ข…๋ฃŒ๋˜๋ฉด ์šด์˜์ฒด์ œ์— ์˜ํ•ด์„œ ์ „๋ถ€ ํ•ด์ œ๊ฐ€ ๋œ๋‹ค.

 

์„ ํ–‰์ฒ˜๋ฆฌ๋ž€?

์ปดํŒŒ์ผ ์ด์ „์˜ ์ฒ˜๋ฆฌ๋ฅผ ์˜๋ฏธํ•œ๋‹ค.

 

๋งคํฌ๋กœ ํ•จ์ˆ˜์˜ ์žฅ์ 

- ์ผ๋ฐ˜ ํ•จ์ˆ˜์— ๋น„ํ•ด ์†๋„๊ฐ€ ๋น ๋ฅด๋‹ค.

- ์ž๋ฃŒํ˜•์— ๋”ฐ๋ผ์„œ ๋ณ„๋„๋กœ ํ•จ์ˆ˜๋ฅผ ์ •์˜ํ•˜์ง€ ์•Š์•„๋„ ๋œ๋‹ค.

 

๋งคํฌ๋กœ ํ•จ์ˆ˜์˜ ๋‹จ์ 

- ์ •์˜ํ•˜๊ธฐ๊ฐ€ ์ •๋ง๋กœ ๊นŒ๋‹ค๋กญ๋‹ค.

- ๋””๋ฒ„๊น… ํ•˜๊ธฐ๊ฐ€ ์‰ฝ์ง€ ์•Š๋‹ค.

 

728x90
๋ฐ˜์‘ํ˜•

'Language' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

rsa.py_ctf  (0) 2016.12.12
toolhelp  (0) 2015.09.24
arp spoofing.c  (0) 2015.09.08
Mac Capture.c  (0) 2015.09.08
blind sql injection.py  (0) 2015.09.08

๋Œ“๊ธ€