hugDog
Android DevLog
hugDog
์ „์ฒด ๋ฐฉ๋ฌธ์ž
์˜ค๋Š˜
์–ด์ œ
  • ๐Ÿ™Œ Hello? (162)
    • ๐Ÿงฉ์•ˆ๋“œ๋กœ์ด๋“œ (12)
      • ๊ฐœ๋… ์ •๋ฆฌ (5)
      • ๋ฒ„๊ทธ ํ•ด๊ฒฐ (4)
      • ๊ธฐํƒ€ (3)
    • ๐Ÿ”์•Œ๊ณ ๋ฆฌ์ฆ˜ (54)
      • ๊ฐœ๋… (0)
      • ๋ฐฑ์ค€ (48)
      • ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค (6)
    • ๐Ÿ“„๊ฐœ๋ฐœ ์ผ์ง€ (0)
      • FINPO (0)
    • ๐Ÿ”คํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด (71)
      • C++ ์ •๋ฆฌ (49)
      • C++๊ธฐ์ดˆํ”Œ๋Ÿฌ์Šค ์—ฐ์Šต๋ฌธ์ œ (20)
      • Kotlin (2)
    • โญProject (1)
    • ๐ŸšดTIL (13)
      • Clean Code (13)
    • ๐Ÿšฉ๊ธฐํƒ€ (9)
      • ๋ชฉํ‘œ (6)
      • ์ผ์ƒ (3)
      • ๋ฌธ์„œ (0)

์ธ๊ธฐ ๊ธ€

์ตœ๊ทผ ๋Œ“๊ธ€

์ตœ๊ทผ ๊ธ€

ํ‹ฐ์Šคํ† ๋ฆฌ

hELLO ยท Designed By ์ •์ƒ์šฐ.
hugDog

Android DevLog

๐Ÿ”คํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด/C++ ์ •๋ฆฌ

C++ ์ •๋ฆฌ - 13 (for ๋ฃจํ”„, ์ฆ๊ฐ€ ์—ฐ์‚ฐ์ž, ๊ฐ์†Œ ์—ฐ์‚ฐ์ž, ๋ถ€์ˆ˜ํšจ๊ณผ์™€ ์‹œํ€€์Šค ํฌ์ธํŠธ, ์ ‘๋‘์–ด, ์ ‘๋ฏธ์–ด ๋ฐฉ์‹)

2020. 1. 12. 23:24
728x90

for ๋ฃจํ”„

for ๋ฃจํ”„๋ฅผ ๊ตฌ์„ฑํ•˜๋Š” ๊ฐ ๋ถ€๋ถ„์€ ์ˆœ์„œ๋Œ€๋กœ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๋‹จ๊ณ„๋ฅผ ์ฒ˜๋ฆฌํ•จ

  1. ์กฐ๊ฑด ๊ฒ€์‚ฌ์— ์‚ฌ์šฉํ•  ์นด์šดํ„ฐ ๊ฐ’์„ ์ดˆ๊ธฐํ™”
  2. ๋ฃจํ”„๋ฅผ ์ง„ํ–‰ํ•  ๊ฒƒ ์ธ์ง€ ์กฐ๊ฑด์„ ๊ฒ€์‚ฌ
  3. ๋ฃจํ”„ ๋ชธ์ฒด๋ฅผ ์ˆ˜ํ–‰
  4. ์นด์šดํ„ฐ ๊ฐ’ ๊ฐฑ์‹ 

์ดˆ๊ธฐํ™”, ์กฐ๊ฑด ๊ฒ€์‚ฌ, ๊ฐฑ์‹ ์„ ์ฒ˜๋ฆฌํ•˜๋Š” for ๋ฃจํ”„์˜ ์„ธ ์ œ์–ด ๋ถ€๋ถ„์€ ๊ด„ํ˜ธ๋กœ ๋ฌถ์—ฌ ์žˆ๋‹ค. ์ด๋“ค์€ ๊ฐ๊ฐ ํ•˜๋‚˜์˜ ํ‘œํ˜„์‹์ด๋ฉฐ, ์„ธ๋ฏธ์ฝœ๋ก ์— ์˜ํ•ด ๋ถ„๋ฆฌ๋˜์–ด ์žˆ๋‹ค. ์ œ์–ด ๋ถ€๋ถ„ ๋’ค์— ์˜ค๋Š” ๊ตฌ๋ฌธ์„ ๋ฃจํ”„ ๋ชธ์ฒด๋ผ ํ•จ

 

for(initialization;test_expression;update_expression)

body

 

์ดˆ๊ธฐํ™”๋Š” ์ฒ˜์Œ์— ๋‹จ ํ•œ ๋ฒˆ๋งŒ ์ˆ˜ํ–‰

test_expression์€ ๋ฃจํ”„ ๋ชธ์ฒด body๋ฅผ ์‹คํ–‰ํ•  ๊ฒƒ ์ธ์ง€ ์—ฌ๋ถ€๋ฅผ ๊ฒฐ์ •

์ฐธ-๊ฑฐ์ง“์„ ๋น„๊ตํ•˜๋Š” ๊ด€๊ณ„์‹๋ฟ๋งŒ ์•„๋‹ˆ๋ผ, ์–ด๋– ํ•œ ํ‘œํ˜„์‹๋„ ์‚ฌ์šฉ ๊ฐ€๋Šฅ

C++์€ ์ด๋Ÿฌํ•œ ํ‘œํ˜„์‹์„ boolํ˜•์œผ๋กœ ๋ณ€ํ™˜ํ•จ. 0 ๊ฐ’์„ ๊ฐ€์ง„ ํ‘œํ˜„์‹์ผ ๊ฒฝ์šฐ boolํ˜• ๊ฐ’ false๋กœ ๋ณ€ํ™˜๋˜๊ณ  ๋ฃจํ”„๊ฐ€ ์ข…๋ฃŒ, ํ‘œํ˜„์‹์ด 0์ด ์•„๋‹Œ ๋‹ค๋ฅธ ์ˆ˜๋กœ ํ‰๊ฐ€๋˜๋ฉด boolํ˜• ๊ฐ’ true๋กœ ๋ณ€ํ™˜๋˜๊ณ  ๋ฃจํ”„๊ฐ€ ๊ณ„์† ์ง„ํ–‰

 

for ๋ฃจํ”„๋Š” ์ง„์ž… ์กฐ๊ฑด (entry_condition) ๋ฃจํ”„์ด๋‹ค

์กฐ๊ฑด ๊ฒ€์‚ฌ ํ‘œํ˜„์‹์ด ๊ฑฐ์ง“์œผ๋กœ ํ‰๊ฐ€๋˜๋ฉด ๋ฃจํ”„ ๋ชธ์ฒด๋Š” ๊ฒฐ์ฝ” ์ˆ˜ํ–‰๋˜์ง€ ์•Š๋Š”๋‹ค

update_expression์€ ๋ฃจํ”„ ๋ชธ์ฒด๊ฐ€ ์‹คํ–‰๋˜๊ณ  ๋‚˜์„œ ๋ฃจํ”„ ์ฃผ๊ธฐ์˜ ๋์—์„œ ํ‰๊ฐ€๋จ. ์ผ๋ฐ˜์ ์œผ๋กœ ๋ฃจํ”„ ์ฃผ๊ธฐ์˜ ์ˆ˜๋ฅผ ์ถ”์ ํ•˜๋Š” ๋ณ€์ˆ˜์˜ ๊ฐ’์„ ์ฆ๊ฐ€์‹œํ‚ค๊ฑฐ๋‚˜ ๊ฐ์†Œ์‹œํ‚ด. ์–ด๋– ํ•œ ํ‘œํ˜„์‹๋„ ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•˜๋‹ค.

 

C++์—์„œ์˜ for ๊ตฌ๋ฌธ

for(for_init_statement condition;expression)

statement

for_init_statement๊ฐ€ ๊ตฌ๋ฌธ์ด๊ณ  ์ž์ฒด์— ์„ธ๋ฏธ์ฝœ๋ก ์ด ์žˆ์œผ๋ฏ€๋กœ ๋ฌธ์ œ์—†์Œ

for_init_statement์— ๋ณ€์ˆ˜๋ฅผ ์„ ์–ธํ•˜๋ฉด ๊ทธ ๋ณ€์ˆ˜๋ฅผ for ๊ตฌ๋ฌธ ์•ˆ์—์„œ๋งŒ ์กด์žฌํ•˜๊ณ  for ๋ฃจํ”„๋ฅผ ๋ฒ—์–ด๋‚˜๋ฉด ์†Œ๋ฉธ๋œ๋‹ค.

 

์ฆ๊ฐ€ ์—ฐ์‚ฐ์ž(++)์™€  ๊ฐ์†Œ ์—ฐ์‚ฐ์ž(--)

์ฆ๊ฐ€ ์—ฐ์‚ฐ์ž์™€ ๊ฐ์†Œ ์—ฐ์‚ฐ์ž๋Š” ๋‘˜ ๋‹ค ์ ‘๋‘์–ด ๋ฐฉ์‹๊ณผ ์ ‘๋ฏธ์–ด ๋ฐฉ์‹์œผ๋กœ ์‚ฌ์šฉ ๊ฐ€๋Šฅ

์ ‘๋‘์–ด ๋ฐฉ์‹์€ ++x, ์ ‘๋ฏธ์–ด ๋ฐฉ์‹์€ x++์™€ ๊ฐ™์ด ์‚ฌ์šฉ

์ ‘๋‘์–ด : ++x, x์˜ ๊ฐ’์„ ๋จผ์ € ์ฆ๊ฐ€

์ ‘๋ฏธ์–ด : x++, x๊ฐ€ ํ˜„์žฌ ๊ฐ€์ง€๊ณ  ์žˆ๋Š” ๊ฐ’์œผ๋กœ ํ‘œํ˜„์‹์˜ ๊ฐ’์„ ๋จผ์ € ํ‰๊ฐ€ํ•œ ํ›„, x์˜ ๊ฐ’์„ ๋‚˜์ค‘์— ํ‰๊ฐ€

 

๋ถ€์ˆ˜ํšจ๊ณผ์™€ ์‹œํ€€์Šค ํฌ์ธํŠธ

๋ถ€์ˆ˜ํšจ๊ณผ (side effect)

์ˆ˜์‹์„ ํ‰๊ฐ€ํ•  ๋•Œ ๋ณ€์ˆ˜์— ์ €์žฅ๋˜์–ด ์žˆ๋Š” ๊ฐ’๊ณผ ๊ฐ™์€ ๊ฒƒ์ด ๋ณ€๊ฒฝ๋  ๋•Œ ์ผ์–ด๋‚˜๋Š” ํšจ๊ณผ๋ฅผ ๋งํ•จ

 

์‹œํ€€์Šค ํฌ์ธํŠธ

ํ”„๋กœ๊ทธ๋žจ์˜ ์‹คํ–‰์ด ๋‹ค์Œ ๋‹จ๊ณ„๋กœ ๋„˜์–ด๊ฐ€๊ธฐ ์ „์— ๋ชจ๋“  ๋ถ€์ˆ˜ ํšจ๊ณผ๋“ค์ด ํ™•์‹คํ•˜๊ฒŒ ํ‰๊ฐ€๋˜๋Š” ํฌ์ธํŠธ

c++์—์„œ ๊ตฌ๋ฌธ์— ์žˆ๋Š” ์„ธ๋ฏธ์ฝœ๋ก ์€ ์‹œํ€€์Šค ํฌ์ธํŠธ๋ฅผ ํ‘œ์‹œํ•จ

 

์ ‘๋‘์–ด ๋ฐฉ์‹๊ณผ ์ ‘๋ฏธ์–ด ๋ฐฉ์‹

ํด๋ž˜์Šค์˜ ๊ฒฝ์šฐ์— ์ ‘๋‘์–ด ๋ฒ„์ „์ด ์ ‘๋ฏธ์–ด ๋ฒ„์ „๋ณด๋‹ค ๋” ํšจ์œจ์ ์ธ ์ด์œ 

์ ‘๋ฏธ์–ด ๋ฒ„์ „์€ ๋จผ์ € ๊ฐ’์˜ ๋ณต์‚ฌ๋ณธ์„ ๋งŒ๋“ค๊ณ , ๋ณต์‚ฌ๋ณธ์˜ ๊ฐ’์„ ์ฆ๊ฐ€์‹œํ‚ค๊ณ , ๊ทธ ๋ณต์‚ฌ๋ณธ์„ ๋ฆฌํ„ดํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ๋™์ž‘ํ•จ

๋‚ด์žฅ ๋ฐ์ดํ„ฐํ˜•์— ๋Œ€ํ•ด์„œ๋Š” ์–ด๋А ๋ฐฉ์‹์„ ์‚ฌ์šฉํ•ด๋„ ๊ฑฐ์˜ ์ฐจ์ด๊ฐ€ ์—†์Œ

 

์ฆ๊ฐ€ ์—ฐ์‚ฐ์ž๋Š” ๊ธฐ๋ณธ ๋ณ€์ˆ˜์— ๋Œ€ํ•ด์„œ๋งŒ์ด ์•„๋‹ˆ๋ผ ํฌ์ธํ„ฐ์—๋„ ์‚ฌ์šฉ ๊ฐ€๋Šฅ

์ด ์—ฐ์‚ฐ์ž๋“ค์„ *์—ฐ์‚ฐ์ž์™€ ๊ฒฐํ•ฉํ•˜์—ฌ ์‚ฌ์šฉํ•จ์œผ๋กœ์จ ํฌ์ธํ„ฐ๊ฐ€ ์ง€์‹œํ•˜๋Š” ๊ฐ’ ๋ณ€๊ฒฝ ๊ฐ€๋Šฅ

์ ‘๋‘ํ˜• ์ฆ๊ฐ€, ์ ‘๋‘ํ˜• ๊ฐ์†Œ, ๋‚ด์šฉ ์ฐธ์กฐ ์—ฐ์‚ฐ์ž๋Š” ์šฐ์„ ์ˆœ์œ„๊ฐ€ ๊ฐ™๊ณ , ์˜ค๋ฅธ์ชฝ์—์„œ ์™ผ์ชฝ์œผ๋กœ ๊ฒฐํ•ฉํ•จ

์ ‘๋ฏธํ˜• ์ฆ๊ฐ€, ์ ‘๋ฏธํ˜• ๊ฐ์†Œ ์—ฐ์‚ฐ์ž๋Š” ์šฐ์„ ์ˆœ์œ„๊ฐ€ ๊ฐ™๊ณ , ์ ‘๋‘ํ˜•๋ณด๋‹ค ์šฐ์„ ์ˆœ์œ„๊ฐ€ ๋†’๋‹ค. ๋˜ํ•œ ์ด ๋‘ ์—ฐ์‚ฐ์ž๋Š” ์™ผ์ชฝ์—์„œ ์˜ค๋ฅธ์ชฝ์œผ๋กœ ๊ฒฐํ•ฉํ•จ

*++pt; //++๊ฐ€ pt์— ๋จผ์ € ์ ์šฉ ํ›„ pt์˜ ์ƒˆ๋กœ์šด ๊ฐ’์— *๊ฐ€ ์ ์šฉ

*pt++; //์›๋ž˜ ์ฃผ์†Œ๋ฅผ ์ฐธ์กฐํ•œ ๋’ค ํฌ์ธํ„ฐ ์ฆ๊ฐ€

 

 

 

 

 

 

 

728x90
์ €์ž‘์žํ‘œ์‹œ ๋น„์˜๋ฆฌ (์ƒˆ์ฐฝ์—ด๋ฆผ)
    '๐Ÿ”คํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด/C++ ์ •๋ฆฌ' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€
    • C++ ์ •๋ฆฌ - 15 (while, for์™€ while, ์‹œ๊ฐ„์ง€์—ฐ๋ฃจํ”„, do while, Range ๊ธฐ๋ฐ˜์˜ for ๋ฃจํ”„ (c++11))
    • C++ ์ •๋ฆฌ - 14 (์กฐํ•ฉ ๋Œ€์ž… ์—ฐ์‚ฐ์ž, ๋ณตํ•ฉ ๊ตฌ๋ฌธ ๋˜๋Š” ๋ธ”๋ก, ์ฝค๋งˆ ์—ฐ์‚ฐ์ž, ๊ด€๊ณ„ ์—ฐ์‚ฐ์ž, C์Šคํƒ€์ผ&string ์Šคํƒ€์ผ ๋ฌธ์ž ๋น„๊ต)
    • C++ ์ •๋ฆฌ - 12 (์ž๋™ ๊ณต๊ฐ„, ์ •์  ๊ณต๊ฐ„, ๋™์  ๊ณต๊ฐ„, ๋ณ€์ˆ˜ํ˜•์˜ ์กฐํ•ฉ, Vector, array ํ…œํ”Œ๋ฆฟ ํด๋ž˜์Šค)
    • C++ ์ •๋ฆฌ - 11 (ํฌ์ธํ„ฐ -3 ํฌ์ธํ„ฐ์™€ ๋ฐฐ์—ด ์ด๋ฆ„๊ฐ„์˜ ์ฐจ์ด, ํฌ์ธํ„ฐ,๋ฐฐ์—ด,ํฌ์ธํ„ฐ ์—ฐ์‚ฐ, ๋ฐฐ์—ด์˜ ์ฃผ์†Œ, ํฌ์ธํ„ฐ์™€ ๋ฌธ์ž์—ด, ๋ฌธ์ž์—ด์˜ ๋ณต์‚ฌ๋ณธ, new๋ฅผ ์‚ฌ์šฉํ•œ ๋™์  ๊ตฌ์กฐ์ฒด)
    hugDog
    hugDog
    ์•ˆ๋“œ๋กœ์ด๋“œ ๊ณต๋ถ€ ์ค‘์ธ ํ•™์ƒ์ž…๋‹ˆ๋‹ค!

    ํ‹ฐ์Šคํ† ๋ฆฌํˆด๋ฐ”