๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
Develop/C

[C์–ธ์–ด ์ž…๋ฌธ๊ธฐ]- ์ฝ”๋”ฉ ์‹œ์ž‘/๊ธฐ์ดˆ ์ด๊ฒƒ์ €๊ฒƒ ๋ฉ”๋ชจ

by _mingle 2022. 10. 4.
728x90

 

 

๋‹จ์ถ•ํ‚ค

๊ธฐ๋ณธ์ค‘ ๊ธฐ๋ณธ

๊ธฐ๋ณธ์ค‘์— ๊ธฐ๋ณธ์ด๋ผ ํ•  ์ˆ˜ ์žˆ๋Š”, ๊ต์ˆ˜๋‹˜์ด ์•Œ๋ ค์ฃผ์‹  ๊ฟ€ํŒ ๊ธฐ๋ก(ํ‹ˆํ‹ˆ์ด ์—…๋ฐ์ดํŠธ ์˜ˆ์ •ใ…Žใ…Ž)

 

์œˆ๋„์šฐ + R =์‹คํ–‰์ฐฝ

์œˆ๋„์šฐ + pause break = ์‹œ์Šคํ…œ ์ •๋ณด ์ฐฝ

Alt + F4 = ์ฐฝ๋‹ซ๊ธฐ

Alt + Tab = ์ฐฝ ๋ฐ”๊พธ๊ธฐ

Alt+ ๋ฐฉํ–ฅํ‚ค = ํ•ด๋‹น ํ•ญ๋ชฉ ๋ฐฉํ–ฅ์œผ๋กœ ์ด๋™

Ctrl+c = ๋ณต์‚ฌ

Ctrl+v = ๋ถ™์—ฌ๋„ฃ๊ธฐ

Ctrl+x = ์˜ค๋ ค๋‘๊ธฐ

Ctrl+z = ์‹คํ–‰์ทจ์†Œ

Ctrl+y = ์žฌ์‹คํ–‰

Ctrl+d = ํ•ด๋‹นํ•ญ๋ชฉ(๋ฐ”๋กœ ๋ฐ‘์—)๋ณต์‚ฌ๋ถ™์—ฌ๋„ฃ๊ธฐ

 

 

์ฝ”๋”ฉ ์ƒ์‹
 

flowgorithm(ํ”Œ๋กœ์šฐ๊ณ ๋ฆฌ์ฆ˜)-์•Œ๊ณ ๋ฆฌ์ฆ˜ ์ˆœ์„œ๋„ (์ฝ”๋”ฉํ•˜๊ธฐ ์ „ ๋ฏธ๋ฆฌ ์„ค๊ณ„ํ•˜๋Š” ๋‹จ๊ณ„์—์„œ ์”€)

codeblocks(์ฝ”๋“œ๋ธ”๋Ÿญ์Šค)- ์ข…ํ•ฉ๊ณ„๋ฐœํˆด(์ฝ”๋”ฉ ํ”„๋กœ๊ทธ๋žจ)

์ปดํŒŒ์ผ๋Ÿฌ- GCC์ปดํŒŒ์ผ๋Ÿฌ ์‚ฌ์šฉ

//์ œ๊ฐ€ ์“ด ํ”„๋กœ๊ทธ๋žจ๋“ค์ž…๋‹ˆ๋‹ค :)

 

์ž์—ฐ์–ด์ฒ˜๋ฆฌ- ์–ด์…ˆ๋ธ”๋ฆฌ์–ด ์–ธ์–ด๋ฅผ ์‚ฌ์šฉ์ž๊ฐ€ ์•Œ์•„๋ณผ ์ˆ˜ ์žˆ๊ฒŒ๋” ์ฒ˜๋ฆฌํ•œ ๊ฒƒ

์‹œ์Šคํ…œ ์ข…๋ฅ˜-64๋น„ํŠธ ์šด์˜์ฒด์ œ๋Š” 8๋ฐ”์ดํŠธ ์ •๋ณด๋ฅผ ํ•œ๋ฒˆ์— ์ฒ˜๋ฆฌ ํ•  ์ˆ˜ ์žˆ๋Š” ๊ฒƒ

ํ™•์žฅ์ž- ํŒŒ์ผ๋ช…. exe //ํ•‘ํฌ์ƒ‰ ๋ถ€๋ถ„์ด ํ™•์žฅ์ž์ž…๋‹ˆ๋‹ค

 

์†Œํ”„ํŠธ์›จ์–ด ๊ณต์ •์ฃผ๊ธฐ ๊ณ„๋ฐœ 6๋‹จ๊ณ„

์š”๊ตฌ์‚ฌํ•ญ → ๋ถ„์„ → ์„ค๊ณ„ → ๊ตฌํ˜„(์ฝ”๋”ฉ) → ํ…Œ์ŠคํŠธ(๋””๋ฒ„๊น…) → ์‹คํ–‰(์œ ์ง€๋ณด์ˆ˜)

 

 

 

ํ”„๋กœ๊ทธ๋žจ ์ž‘์„ฑ(์ฝ”๋”ฉ)๊ณผ์ •

ํ”„๋กœ๊ทธ๋žจ ์ž‘์„ฑ(=์ฝ”๋”ฉ)

[์ปดํŒŒ์ผ๋Ÿฌ(์ปดํŒŒ์ผ๋ง)

๊ธฐ๊ณ„์–ด ์ฝ”๋“œ(๋ชฉ์ ํŒŒ์ผ)

๋ง์ปค(๋งํฌ): ๋ชฉ์ ํŒŒ์ผ์„ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์™€ ์—ฐ๊ฒฐ

์‹คํ–‰ํŒŒ์ผ ์ƒ์„ฑ(.exe)

๋กœ๋” (๋Ÿฐ)๊ฐ€ ๋ฉ”๋ชจ๋ฆฌ์— ์˜ฌ๋ฆฐ๋‹ค.(์ฝ”๋“œ์˜์—ญ๊ณผ ๋ฐ์ดํ„ฐ ์˜์—ญ์— ์˜ฌ๋ฆฐ๋‹ค.)]:๋นŒ๋“œ

์šด์˜์ฒด์ œ๋Š” ์ž‘๋™์‹œํ‚ด(cpu๊ฐ€)

 

 

์ปดํŒŒ์ผ๋Ÿฌ- ์‚ฌ๋žŒ์ด ์ž…๋ ฅํ•œ ์ •๋ณด๋ฅผ ๊ธฐ๊ณ„์–ด(์–ด์…ˆ๋ธ”๋ฆฌ์–ด)๋กœ ๋ณ€ํ™˜ํ•˜์—ฌ ๋ชฉ์ ํŒŒ์ผ์„ ๋งŒ๋“ค์–ด ์ฃผ๋Š” ๊ฒƒ

๋ง์ปค- ์ปดํŒŒ์ผ๋Ÿฌ๊ฐ€ ๋งŒ๋“  ๋ชฉ์ ํŒŒ์ผ์„ ๋‹ค๋ฅธ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์— ์—ฐ๊ฒฐ์‹œํ‚ค๋Š” ๊ฒƒ

๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ- gcc์ปดํŒŒ์ผ๋Ÿฌ๊ฐ€ ์ œ๊ณตํ•ด์ฃผ๋Š” ํ•จ์ˆ˜

๋Ÿฐ- ์‹คํ–‰ํŒŒ์ผ์„ ๋ฉ”๋ชจ๋ฆฌ์— ๋กœ๋“œ์‹œํ‚ค๋Š” ๊ฒƒ

๋กœ๋”- ์‹คํ–‰ํŒŒ์ผ์„ ๋ฉ”๋ชจ๋ฆฌ์ค‘ ์ฝ”๋“œ์˜์—ญ(๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ, ๋‚ด๊ฐ€ ์ž‘์—…ํ•œ ์‹คํ–‰์ฝ”๋“œ)๊ณผ ๋ฐ์ดํ„ฐ์˜์—ญ{(์ „์—ญ๋ณ€์ˆ˜,์ •์ ๋ณ€์ˆ˜,์ƒ์ˆ˜,๋ฌธ์ž์—ด์ƒ์ˆ˜)=const์˜์—ญ(๋ฆฌํ„ฐ๋„ ์ƒ์ˆ˜),read olny(๋ฌธ์ž์—ด์ƒ์ˆ˜)์˜์—ญ}์— ๋กœ๋“œ์‹œํ‚ด

๋นŒ๋“œ- ( ์ปดํŒŒ์ผ๋Ÿฌ, ๋ชฉ์ ํŒŒ์ผ ๋งŒ๋“ค์–ด์ง,๋ง์ปค,๋กœ๋”)-->์ฝ”๋“œ์˜์—ญ(ํ…์ŠคํŠธ ์˜์—ญ)๊ณผ ๋ฐ์ดํ„ฐ์˜์—ญ์— ์˜ฌ๋ผ๊ฐ

 

๋ฉ”๋ชจ๋ฆฌ-์ฝ”๋“œ์˜์—ญ,๋ฐ์ดํ„ฐ์˜์—ญ(bss์˜์—ญ,๊ทธ์™ธ์˜์—ญ),ํž™์˜์—ญ,์Šคํƒ์˜์—ญ

์ปค๋„-์šด์˜์ฒด์ œ

์ปค๋„์ด ํ•˜๋Š” ์ผ- 1.๋ฉ”๋ชจ๋ฆฌ ๊ด€๋ฆฌ 2.ํ”„๋กœ์„ธ์Šค ๊ด€๋ฆฌ 3.๋””๋ฐ”์ด์Šค ๊ด€๋ฆฌ 4.ํŒŒ์ผ ๊ด€๋ฆฌ 5.๋„คํŠธ์›Œํฌ ๊ด€๋ฆฌ

 

์ „์ฒ˜๋ฆฌ๊ธฐ- ์ปดํŒŒ์ผ๋Ÿฌ๊ฐ€ ํ”„๋กœ๊ทธ๋žจ์„ ์‹œ์ž‘ํ•˜๊ธฐ ์ „์— ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์— ํ•จ์Šค๋ฅผ ๊ฐ–๋‹ค๋†”๋ผ~๋ผ๊ณ  ๋ช…๋ นํ•˜๋Š” ๊ฒƒ

/**/ or // -์ฃผ์„์ฒ˜๋ฆฌ(๋ฉ”๋ชจ๊ธฐ๋Šฅ-์ปดํŒŒ์ผ๋Ÿฌ๊ฐ€ ๊ธฐ๊ณ„์–ด๋กœ ๋ณ€ํ™˜ ์•ˆํ•ด์—ผ)

;(์„ธ๋ฏธ์ฝœ๋ก )-์ปดํŒŒ์ผ๋Ÿฌ์—๊ฒŒ ๋ฌธ์žฅ์˜ ๋์„ ์•Œ๋ ค์ฃผ๋Š” ๊ฒƒ.

&(์•คํผ์„ผํŠธ)-๋ฒˆ์ง€์ˆ˜๋ฅผ ํ‘œ์‹œํ•ด์ฃผ๋Š” ๊ฒƒ.

 

 

16๊ฐ€์ง€ ์ฝ”๋”ฉ ๊ตฌํ˜„ ๋ฐฉ๋ฒ• ๋ช…์นญ

๋ณ€์ˆ˜ ์ƒ์ˆ˜ ์ž…๋ ฅ ์ถœ๋ ฅ ์„ ํƒ๋ฌธ ๋‹ค์ค‘์„ ํƒ๋ฌธ ๊ฐ€๋…์„ฑ?

๋ฐ˜๋ณต๋ฌธ-ํšŸ์ˆ˜ ๋ฐ˜๋ณต๋ฌธ-์กฐ๊ฑด ๋ฐ˜๋ณต๋ฌธ-ํ›„์กฐ๊ฑด Goto๋ฌธ

ํ•จ์ˆ˜ ์˜ค๋ฅ˜์ฒ˜๋ฆฌ ๋ฉ”๋ชจ๋ฆฌ ์Šค๋ ˆ๋“œ ํฌ์ธํ„ฐ

/*์—ฌ๊ธฐ์„œ ๋ฉ”๋ชจ๋ฆฌ์™€ ํฌ์ธํ„ฐ๊ฐ€ ์–ด๋ ต๋‹ค๊ณ  ๋ง์”€ํ•˜์‹  ๊ฒƒ ๊ฐ™์•„์š”..

์•„์ง ์•ˆ๋ฐฐ์› ๋Š”๋ฐ ์ƒ๋‹นํžˆ ๊ฒ์ด ๋‚œ๋‹ค๋Š”....ใ… ใ… */

 

 

 

๋ณ€์ˆ˜

๋ณ€์ˆ˜- ๋‚ด๊ฐ€ ์ง€์ •ํ•ด ๋‘” ๊ฐ’์„ ๋œป //์‚ฌ์šฉ์ž๊ฐ€ ์ž…๋ ฅํ•œ ๊ฐ’์„ ๋ฐ›์„ ์žฅ์†Œ์ •๋„..?๋ผ๊ณ  ํ•ด๋„ ๊ดœ์ฐฎ๊ฒ ์ฃ ?

 

๋ณ€์ˆ˜๋ช…์€ ์นด๋ฉœํ‘œ๊ธฐ๋ฒ•์œผ๋กœ ํ‘œ๊ธฐ๋ฅผ ํ•˜๋Š”๊ฒŒ ์›์น™!

์นด๋ฉœํ‘œ๊ธฐ๋ฒ•

์นด๋ฉœํ‘œ๊ธฐ๋ฒ•์€ ์ฒ˜์Œ ์‹œ์ž‘์€ ์†Œ๋ฌธ์ž,์—ฐ๊ฒฐ๋˜๋Š” ๋‹จ์–ด ์ฒซ๊ธ€์ž๋Š” ๋Œ€๋ฌธ์ž๋กœ ํ‘œ๊ธฐํ•˜๋Š” ๊ฒƒ.

ex) camelCase, yesNo, studentGrade....

 

๋ณ€์ˆ˜์ข…๋ฅ˜

๋ฌธ์žํ˜• char A=0; --1byte //ํ•œ๊ธ€์€ 2๋ฐ”์ดํŠธ

์ •์ˆ˜ํ˜• int A=0; --4byte

์‹ค์ˆ˜ํ˜• double A=0.0; --8byte

๋ฌธ์ž์—ด char A[10]=""; --10byte

๋ถ€์šธํ˜• boolea A='fale' -- 1byte

 

๋ณ€์ˆ˜์˜ ์ดˆ๊ธฐ๊ฐ’

๋ฌธ์ž์—ด์ดˆ๊ธฐ๊ฐ’=“”={0,}

์ •์ˆ˜์—ด์ดˆ๊ธฐ๊ฐ’=0

์‹ค์ˆ˜์˜์ดˆ๊ธฐ๊ฐ’=0.0

๋ฌธ์žํ˜•์ดˆ๊ธฐ๊ฐ’=0

 

ex)

char name[10]=""; -๋ฌธ์ž์—ด๋ณ€์ˆ˜

char grade=0; -๋ฌธ์žํ˜• ๋ณ€์ˆ˜

int total=0; -์ •์ˆ˜ํ˜• ๋ณ€์ˆ˜

double avg=0.0;-์‹ค์ˆ˜ํ˜•๋ณ€์ˆ˜

 

์ง€์—ญ๋ณ€์ˆ˜-๋ธ”๋Ÿญ์•ˆ์— ์„ ์–ธ๋œ ๋ณ€์ˆ˜(๋ฉ”๋ชจ๋ฆฌ๊ฐ€ ์‹คํ–‰๋ ๋•Œ ํ™•์ •๋จ)

์ „์—ญ๋ณ€์ˆ˜- ๋ธ”๋Ÿญ์ด ์—†๋Š” ๊ณณ์— ์„ ์–ธ ๋œ ๋ณ€์ˆ˜

์ •์ ๋ณ€์ˆ˜-์•ž์— static์„ ๋ถ™์ธ ๋ณ€์ˆ˜?

 

๋ณ€์ˆ˜๊ฐ€ ์ €์žฅ๋˜๋Š” ๊ณต๊ฐ„: ๋ฐ์ดํ„ฐ ์˜์—ญ,์Šคํƒ์˜์—ญ

๋ฐ์ดํ„ฐ์˜์—ญ-์ •์ ๋ณ€์ˆ˜,์ „์—ญ๋ณ€์ˆ˜(์ดˆ๊ธฐ๊ฐ’ ์•ˆ์ฃผ๋ฉด BSS์˜์—ญ์— ๋””ํดํŠธ ๊ฐ’์œผ๋กœ ๋“ค์–ด๊ฐ.) //๋””ํดํŠธ๊ฐ’=์ „๋ถ€ '0'

์Šคํƒ์˜์—ญ- ์ง€์—ญ๋ณ€์ˆ˜(์ดˆ๊ธฐ๊ฐ’ ์•ˆ์ฃผ๋ฉด ์“ฐ๋ ˆ๊ธฐ๊ฐ’์ด ๋“ค์–ด๊ฐ.)

 

๋ณ€์ˆ˜๋Š” ๋ฐ˜๋“œ์‹œ ๋ฒˆ์ง€๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ์Œ.

 

์ƒ์ˆ˜

์ถœ์ฒ˜ ์ž…๋ ฅ

1.์ฝ˜์Šค์˜์—ญ(const sgement)-๋ฆฌํ„ฐ๋„

2.๋ฆฌ๋“œ์˜จ๋ฆฌ์˜์—ญ(read only segment)

 

์ƒ์ˆ˜์ข…๋ฅ˜

๋ฌธ์ž์—ด ์ƒ์ˆ˜(“”)

์ •์ˆ˜ํ˜•์ƒ์ˆ˜(5)

์‹ค์ˆ˜ํ˜• ์ƒ์ˆ˜(170.5)

๋ถ€์šธํ˜•์ƒ์ˆ˜(false,true)

๋ฌธ์žํ˜•์ƒ์ˆ˜(‘’)

๋ฒˆ์ง€์ƒ์ˆ˜(ํฌ์ธํ„ฐ ๋ณ€์ˆ˜๋ž‘ ๊ฐ™์€..?)

 

 

 

 
๋ญ ๋‹จ์ˆœ ๋ฉ”๋ชจ

 

 

 

 

 

 

 

728x90
๋ฐ˜์‘ํ˜•

๋Œ“๊ธ€