[C/C++] 1. λ³€μˆ˜(Variable)

2021. 3. 10. 00:02Β·ν”„λ‘œκ·Έλž˜λ° μ–Έμ–΄/C++ 기초

ν•™μ°½μ‹œμ ˆ λ°°μ› λ˜ ν•¨μˆ˜μ—μ„œμ˜ x

 

λ³€μˆ˜λΌλŠ” 이름은 "λ³€ν•  수 μžˆλŠ” 수"라고 생각 ν•  수 있으며, μƒμˆ˜(λ³€ν•˜μ§€ μ•ŠλŠ” 수)와 λŒ€λΉ„λ˜λŠ” κ°œλ…μ΄λ‹€.

 

μš°λ¦¬κ°€ ν•™μƒμ‹œμ ˆμ— λ°°μ› λ˜ ν•¨μˆ˜(f(x))μ—μ„œμ˜ x에 μ—¬λŸ¬κ°€μ§€ 값을 λŒ€μž…ν•΄ λ³Ό 수 μžˆλŠ”λ°, 이와 λ§ˆμ°¬κ°€μ§€λΌκ³  ν•  수 μžˆλ‹€.

 

int foo;
foo = 5;

μœ„μ˜ μ½”λ“œμ—μ„œ fooκ°€ λ³€μˆ˜λ₯Ό λ‚˜νƒ€λ‚΄λŠ” 이름이닀.

 

 

μ»΄ν“¨ν„°μ˜ λ©”λͺ¨λ¦¬ κ΄€μ μ—μ„œ 보면, λ³€μˆ˜ fooλŠ” int의 크기(4byte)만큼 λ©”λͺ¨λ¦¬ 곡간을 μ°¨μ§€ν•˜κ³  이름은 foo라고 λ‚˜νƒ€λ‚Ό 수 μžˆλŠ” 것이닀. λ‹€λ§Œ, fooκ°€ λ©”λͺ¨λ¦¬ μžμ²΄μ΄κ±°λ‚˜ κ°’ 5라고 ν•˜κΈ° λ³΄λ‹€λŠ” μ°¨μ§€ν•˜κ³  μžˆλŠ” λ©”λͺ¨λ¦¬ κ³΅κ°„μ˜ 이름이고, κ·Έ 곡간에 5의 값을 λŒ€μž…ν–ˆλ‹€κ³  ν•  수 μžˆλ‹€.

 

 

 

 

C/C++μ—μ„œμ˜ λ³€μˆ˜λŠ” 기쀀에 따라 μ—¬λŸ¬ λΆ„λ₯˜λ‘œ λ‚˜λ‰  수 μžˆλ‹€.

 

λ¨Όμ € λ³€μˆ˜μ˜ μ‚¬μš© λ²”μœ„μ— λ”°λΌμ„œ,

  • μ§€μ—­ λ³€μˆ˜
  • μ „μ—­ λ³€μˆ˜
  • 멀버 λ³€μˆ˜

둜 λ‚˜λ‰  수 μžˆλ‹€.

 

μ§€μ—­ λ³€μˆ˜λŠ” scope, 즉 {} 내뢀에 μœ„μΉ˜ν•œ λ³€μˆ˜μ΄λ©°, scopeλ₯Ό λΉ μ Έλ‚˜κ°€λŠ” μˆœκ°„ ν• λ‹Ήλœ λ©”λͺ¨λ¦¬λŠ” ν•΄μ œλ˜μ–΄ μ ‘κ·Όν•  수 μ—†λ‹€.

μ „μ—­ λ³€μˆ˜λŠ” scope 외뢀에 μœ„μΉ˜ν•œ λ³€μˆ˜μ΄λ©°, μ„ μ–Έλœ μ‹œμ λΆ€ν„° ν”„λ‘œκ·Έλž¨μ΄ μ’…λ£Œλ˜λŠ” μˆœκ°„κΉŒμ§€ λ©”λͺ¨λ¦¬κ°€ μœ μ§€λ˜μ–΄ μ ‘κ·Ό κ°€λŠ₯ν•˜λ‹€.

멀버 λ³€μˆ˜λŠ” 클래슀의 내뢀에 μœ„μΉ˜ν•œ λ³€μˆ˜μ΄λ―€λ‘œ, μΈμŠ€ν„΄μŠ€λ₯Ό ν†΅ν•˜κ±°λ‚˜ 클래슀 자체λ₯Ό ν†΅ν•΄μ„œ μ ‘κ·Όν•  수 μžˆλ‹€.

 

int global;	// μ „μ—­λ³€μˆ˜

void func()
{
	int local = 10; // μ§€μ—­λ³€μˆ˜
}

class abc
{
public:
	abc();
	~abc();
    
private:
	int member; // 멀버 λ³€μˆ˜
};

 

λ³€μˆ˜ μ΄ˆκΈ°ν™”(Initialize)

int a; 와 같이 λ³€μˆ˜λ₯Ό μ„ μ–Έλ§Œ ν–ˆμ„ λ•Œ a의 값은 λ¬΄μ˜λ―Έν•œ μ“°λ ˆκΈ°κ°’μ΄ λ“€μ–΄μžˆλ‹€. λ”°λΌμ„œ μ΄ˆκΈ°ν™”λ₯Ό ν•΄μ£Όμ–΄μ•Ό ν•˜λŠ”λ° μ΄ˆκΈ°ν™”μ˜ 방법은 ν• λ‹Ήκ³Ό μ„ μ–Έλœ μ¦‰μ‹œ μ΄ˆκΈ°ν™”κ°€ μžˆλ‹€.

 

int x;
x = 3; // ν• λ‹Ή

int x = 3; // μ„ μ–Έκ³Ό λ™μ‹œμ— μ΄ˆκΈ°ν™”

 

ν›„μžκ°€ 더 κΉ”λ”ν•˜κ³ , 자주 쓰인닀.

 

 

 

L-Value와 R-Value

double dVal = 3.14;

 

λŒ€μž… μ—°μ‚°μžλ₯Ό κΈ°μ€€μœΌλ‘œ 보톡 μ™Όμͺ½μ— μœ„μΉ˜ν•˜λ©΄μ„œ, λ©”λͺ¨λ¦¬λ₯Ό κ°€μ§„ 값을 L-Value라고 ν•œλ‹€. μœ„ μ½”λ“œμ—μ„œλŠ” dVal λ³€μˆ˜κ°€ L-Value이닀.

 

R-ValueλŠ” λŒ€μž… μ—°μ‚°μžλ₯Ό κΈ°μ€€μœΌλ‘œ 보톡 였λ₯Έμͺ½μ— μœ„μΉ˜ν•˜λ©΄μ„œ, λ©”λͺ¨λ¦¬λ₯Ό κ°€μ§€μ§€ μ•ŠλŠ” 값은 R-Value라고 ν•œλ‹€. μœ„ μ½”λ“œμ—μ„œλŠ” 3.14κ°€ R-Value이닀.

 

L-ValueλŠ” 식이 λλ‚˜λ„ λ©”λͺ¨λ¦¬κ°€ μœ μ§€λ˜μ§€λ§Œ, R-ValueλŠ” λ©”λͺ¨λ¦¬μ™€ κ΄€λ ¨μ—†λŠ” μΌμ‹œμ μΈ 값이라고 ν•  수 μžˆλ‹€.

 

int a = b;

 

λ¬Όλ‘  μ‹μ˜ μ’Œμš°κ°€ λͺ¨λ‘ L-Value일 μˆ˜λ„ μžˆλ‹€. κΈ°μ–΅ν•΄μ•Ό ν•  것은 λ©”λͺ¨λ¦¬λ₯Ό κ°€μ§„ 값은 L-Value이고 κ°€μ§€μ§€ μ•ŠλŠ” 값은 R-Value인 것이닀.

 

 

// 좔후에 R-Value Referenceκ°€ λ‚˜μ˜€λŠ”λ°, R-Value의 κ°œλ…μ΄ 흔듀릴 μˆ˜λ„ μžˆλ‹€~~

μ €μž‘μžν‘œμ‹œ (μƒˆμ°½μ—΄λ¦Ό)

'ν”„λ‘œκ·Έλž˜λ° μ–Έμ–΄ > C++ 기초' μΉ΄ν…Œκ³ λ¦¬μ˜ λ‹€λ₯Έ κΈ€

[C/C++] 4. 반볡문(Iteration statements) - forλ¬Έ(for loop)  (0) 2021.03.29
[C/C++] 3. 쑰건문(Conditional statement)  (1) 2021.03.18
[C/C++] 2. νƒ€μž…κ³Ό μ—°μ‚°μž(Type & Operator)  (0) 2021.03.12
[C/C++] 0. μ‹€ν–‰νŒŒμΌμ΄ λ§Œλ“€μ–΄μ§€λŠ” ꡬ쑰(feat. 컴파일러)  (1) 2021.03.10
[C/C++] κΈ€ μž‘μ„±μ— κ΄€ν•˜μ—¬  (0) 2021.03.09
'ν”„λ‘œκ·Έλž˜λ° μ–Έμ–΄/C++ 기초' μΉ΄ν…Œκ³ λ¦¬μ˜ λ‹€λ₯Έ κΈ€
  • [C/C++] 3. 쑰건문(Conditional statement)
  • [C/C++] 2. νƒ€μž…κ³Ό μ—°μ‚°μž(Type & Operator)
  • [C/C++] 0. μ‹€ν–‰νŒŒμΌμ΄ λ§Œλ“€μ–΄μ§€λŠ” ꡬ쑰(feat. 컴파일러)
  • [C/C++] κΈ€ μž‘μ„±μ— κ΄€ν•˜μ—¬
μ„œμ•„λž‘πŸ˜ƒ
μ„œμ•„λž‘πŸ˜ƒ
Just Do ItπŸ’ͺ
  • μ„œμ•„λž‘πŸ˜ƒ
    G-Stack
    μ„œμ•„λž‘πŸ˜ƒ
  • 전체
    였늘
    μ–΄μ œ
    • 전체보기 (144)
      • ν”„λ‘œκ·Έλž˜λ° μ–Έμ–΄ (78)
        • C++ 기초 (28)
        • C++ μ‘μš© (18)
        • Python (18)
        • JavaScript & NodeJS (0)
        • Go (12)
        • React & NextJS (2)
        • Java (0)
      • AI (2)
      • 컴퓨터 ꡬ쑰 & 운영체제 (31)
      • μ•Œκ³ λ¦¬μ¦˜ (12)
      • λ°μ΄ν„°λ² μ΄μŠ€ (5)
      • λ„€νŠΈμ›Œν¬ (3)
      • λ””μžμΈνŒ¨ν„΄ (5)
      • μ„œλΉ„μŠ€ & 툴 (7)
      • νŠΈλ Œλ“œ&이슈 (1)
  • λΈ”λ‘œκ·Έ 메뉴

    • ν™ˆ
    • νƒœκ·Έ
    • λ°©λͺ…둝
  • 링크

  • 곡지사항

    • GμŠ€νƒμ˜ 기술 λΈ”λ‘œκ·Έ
  • 인기 κΈ€

  • νƒœκ·Έ

    λ””μžμΈνŒ¨ν„΄
    c
    pointer
    포인터
    component
    Thread
    μž¬κ·€
    fork
    go
    ν•˜λ“œλ””μŠ€ν¬
    cpu
    λ°°μ—΄
    init
    상속
    반볡문
    쑰건문
    파이썬
    νŒŒμΌμž…μΆœλ ₯
    컴퓨터
    λ³€μˆ˜
    가상메λͺ¨λ¦¬
    μŠ€νƒ
    ν•¨μˆ˜
    λ©”λͺ¨λ¦¬
    c++
    RAM
    STD
    μ•Œκ³ λ¦¬μ¦˜
    λ°μ΄ν„°λ² μ΄μŠ€
    νŒ¨ν‚€μ§€
  • 졜근 λŒ“κΈ€

  • 졜근 κΈ€

  • hELLOΒ· Designed Byμ •μƒμš°.v4.10.6
μ„œμ•„λž‘πŸ˜ƒ
[C/C++] 1. λ³€μˆ˜(Variable)
μƒλ‹¨μœΌλ‘œ

ν‹°μŠ€ν† λ¦¬νˆ΄λ°”