ν•¨μˆ˜ - 2

이건민·2022λ…„ 4μ›” 13일
0

powerC++

λͺ©λ‘ 보기
5/12
post-thumbnail

πŸ“’ λ³€μˆ˜μ˜ λ²”μœ„(scope)


😜 μ§€μ—­λ³€μˆ˜(local variable)

λ³€μˆ˜κ°€ μ„ μ–Έλœ 블둝이 μ‹œμž‘ν•  λ•Œ μŠ€νƒμ— λ§Œλ“€μ–΄μ§€λ©° λ™μ‹œμ— μ΄ˆκΈ°ν™”

ν•¨μˆ˜μ˜ λ§€κ°œλ³€μˆ˜ λ˜ν•œ μΌμ’…μ˜ 지역 λ³€μˆ˜μ΄λ‹€.








😜 μ „μ—­λ³€μˆ˜

μ†ŒμŠ€ 파일 μ „μ²΄μ—μ„œ 접근이 κ°€λŠ₯ν•˜κ³  μ‚¬μš©μ΄ κ°€λŠ₯

  • μ „μ—­λ³€μˆ˜μ˜ μ΄ˆκΈ°κ°’κ³Ό 생쑴 κΈ°κ°„

    • μ΄ˆκΈ°ν™” ν•˜μ§€ μ•ŠμœΌλ©΄ 0으둜 μ΄ˆκΈ°ν™”λœλ‹€.

    • 생쑴기간은 ν”„λ‘œκ·Έλž¨μ˜ μ‹œμž‘λΆ€ν„° μ’…λ£Œ

    • 정적 ν• λ‹Ή








🎁 μ €μž₯ μœ ν˜• μ§€μ •μž(storage class specifier)

λ³€μˆ˜λ₯Ό μ„ μ–Έν•  λ•Œ μ•žμ— μ €μž₯ μœ ν˜•μ„ 지정

λ³€μˆ˜μ˜ μƒμ‘΄μ‹œκ°„μœΌλ‘œ λ³€μˆ˜λ“€μ„ λΆ„λ₯˜ν•˜λ©΄

  • 정적 ν• λ‹Ή
    ν”„λ‘œκ·Έλž¨μ΄ μ‹€ν–‰λ˜λŠ” λ™μ•ˆμ—λŠ” 계속 λ³€μˆ˜μ— μ €μž₯ 곡간이 ν• λ‹Ήλ˜μ–΄ 있음
    기본적으둜 μ „μ—­ λ³€μˆ˜

  • 동적 ν• λ‹Ή
    λΈ”λ‘μ—μ„œλ§Œ ν• λ‹Ήλ˜κ³  μ’…λ£Œμ‹œ μ €μž₯ 곡간이 회수
    기본적으둜 지역 λ³€μˆ˜
    πŸ’‘ μ €μž₯ μœ ν˜• μ§€μ •μžλ₯Ό μ‚¬μš©ν•˜λ©΄ 지역 λ³€μˆ˜λ„ 정적 ν• λ‹ΉμœΌλ‘œ λ°”κΏ€ 수 있음.





1. auto λ³€μˆ˜λ₯Ό μ„ μ–Έν•œ μœ„μΉ˜μ—μ„œ μžλ™μœΌλ‘œ λ§Œλ“€μ–΄μ§€κ³  블둝을 λ²—μ–΄λ‚˜λ©΄ μžλ™μœΌλ‘œ μ†Œλ©Έ  default값이 auto
2. register   λ©”λͺ¨λ¦¬μ— μ €μž₯이 μ•„λ‹Œ λ ˆμ§€μŠ€ν„°μ— μ €μž₯.
3. static    지역 λ³€μˆ˜μ— μ‚¬μš© μ‹œ μ „μ—­ λ³€μˆ˜μ™€ 같이 ν”„λ‘œκ·Έλž¨μ΄ μ‹œμž‘ μ‹œ μƒμ„±λ˜κ³  μ’…λ£Œ μ‹œ μ œκ±°λœλ‹€.
4. extern   λ³€μˆ˜κ°€ ν˜„μž¬ λ²”μœ„κ°€ μ•„λ‹Œ λ‹€λ₯Έ κ³³μ—μ„œ μ„ μ–Έλ˜μ—ˆλ‹€λŠ” 것을 μ•Œλ¦¬λŠ” μ—­ν• . 
           λ°˜λ“œμ‹œ λ‹€λ₯Έ μ†ŒμŠ€ νŒŒμΌμ—μ„œ μ •μ˜λ˜κ±°λ‚˜ 같은 파일의 λ‹€λ₯Έ λΆ€λΆ„μ—μ„œ μ •μ˜λ˜μ–΄μ•Ό ν•œλ‹€.
           μ •μ ν• λ‹ΉμœΌλ‘œ κ°„μ£Ό

static

지역 λ³€μˆ˜μ— μ‚¬μš© μ‹œ μ „μ—­ λ³€μˆ˜μ™€ 같이 ν”„λ‘œκ·Έλž¨μ΄ μ‹œμž‘ μ‹œ μƒμ„±λ˜κ³  μ’…λ£Œ μ‹œ μ œκ±°λœλ‹€.

μ „μ—­ λ³€μˆ˜μ— μ‚¬μš©ν•˜λ©΄ λ‚΄λΆ€ μ—°κ²°, 즉 ν˜„μž¬ μ†ŒμŠ€ νŒŒμΌμ—μ„œλ§Œ μ‚¬μš©μ΄ κ°€λŠ₯ν•˜κ³  λ‹€λ₯Έ μ†ŒμŠ€ νŒŒμΌμ—μ„œλŠ” ν•΄λ‹Ή λ³€μˆ˜λ₯Ό μ‚¬μš©ν•  수 μ—†λ‹€.

ν•¨μˆ˜ 이름 μ•žμ— μ‚¬μš©ν•˜λŠ” 경우 ν•΄λ‹Ή ν•¨μˆ˜λŠ” ν˜„μž¬ μ†ŒμŠ€ νŒŒμΌμ—μ„œλ§Œ μ‚¬μš©μ΄ κ°€λŠ₯ν•˜λ‹€.(정적 ν•¨μˆ˜)
ν•¨μˆ˜μ•žμ— static이 μ—†λ‹€λ©΄ μ™ΈλΆ€ μ†ŒμŠ€ νŒŒμΌμ—μ„œ extern을 μ„ μ–Έν•˜μ—¬ μ‚¬μš©ν•  수 μžˆλ‹€.

profile
λͺ¨λ“  κ²Œμ‹œκΈ€μ— λŒ€ν•œ μˆ˜μ • μš”κ΅¬ 및 지적 ν™˜μ˜ν•©λ‹ˆλ‹€

0개의 λŒ“κΈ€

κ΄€λ ¨ μ±„μš© 정보