πŸ“κ°œλ°œ 일지 (7)

우민·2023λ…„ 9μ›” 3일
0

개발 일지

λͺ©λ‘ 보기
7/9

무지λ₯Ό μ•„λŠ” 것이 κ³§ μ•Žμ˜ μ‹œμž‘μ΄λ‹€.
"True knowledge exists in knowing that you know nothing."
- μ†Œν¬λΌν…ŒμŠ€

어리석은 μ‚¬λžŒλ“€μ€ μžμ‹ μ΄ 어리석은 쀄 λͺ¨λ₯΄κ³  μ‚΄μ•„κ°€κ³ ,
ν˜„λͺ…ν•œ μ‚¬λžŒμ€ μžμ‹ μ΄ 어리석은 쀄 μ•Œκ³  μ‚΄μ•„κ°„λ‹€.

πŸ“Œ Day - 7

[ Variable ]

1. Concept ( κ°œλ… )

  • 데이터(data)λ₯Ό μ €μž₯ν•˜κΈ° μœ„ν•΄ ν”„λ‘œκ·Έλž¨μ— μ˜ν•΄ 이름을 할당받은 λ©”λͺ¨λ¦¬ 곡간
// μ˜ˆμ‹œ
int variable = 30;

2. Type ( μ’…λ₯˜ )

  • Local Variables ( μ§€μ—­ λ³€μˆ˜ )
  • Global Variables ( μ „μ—­ λ³€μˆ˜ )
"Local Variables (μ§€μ—­ λ³€μˆ˜)"
// ex)


int main()
{
	int local = 10;		// local : μ§€μ—­ λ³€μˆ˜
    
    
    return 0;
}


"λ²”μœ„ (Scope)"
// : μ§€μ—­ λ³€μˆ˜λŠ” νŠΉμ •ν•œ μ½”λ“œ 블둝 λ‚΄μ—μ„œλ§Œ μœ νš¨ν•œλ‹€


"생쑴 κΈ°κ°„ (Life Time)"
// : ν•¨μˆ˜ main이 호좜될 λ•Œλ§ˆλ‹€ λ³€μˆ˜ local이 μƒμ„±λ˜κ³ , 
//	 ν•¨μˆ˜κ°€ λ°˜ν™˜λ  λ•Œλ§ˆλ‹€ μ†Œλ©Έλœλ‹€
"Global Variables (μ „μ—­λ³€μˆ˜)"
// ex


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

int main()
{
	int local = 10;		
    
    
    return 0;
}


"λ²”μœ„ (Scope)"
// : μ§€μ—­ λ³€μˆ˜μ™€λŠ” λ‹€λ₯΄κ²Œ ν”„λ‘œκ·Έλž¨μ˜ λͺ¨λ“  λΆ€λΆ„μ—μ„œ μ‚¬μš© ν•  수 μžˆλ‹€


"생쑴 κΈ°κ°„ (Life Time)"
// : μ „μ—­ λ³€μˆ˜ global은 ν”„λ‘œκ·Έλž¨μ΄ μ‹œμž‘λ  λ•Œ μƒμ„±λ˜κ³ , 
//   ν”„λ‘œκ·Έλž¨μ΄ μ’…λ£Œλ  λ•ŒκΉŒμ§€ λ©”λͺ¨λ¦¬μ— 남아 μžˆλ‹€

3. Function Parameters ( 맀개 λ³€μˆ˜ )

"Function Parameters"

int add(int left, int right)
{
	return left + right;
}

// ν•¨μˆ˜ : add
// 맀개 λ³€μˆ˜ : left, right 

4. Concept Expansion ( κ°œλ… ν™•μž₯ )

#include <stdio.h>

int a = 10;					// μ „μ—­ λ³€μˆ˜

int main()	
{
int b = 20;					// μ§€μ—­ λ³€μˆ˜ (main)

	if (b == 20)
		{
        int c = 30;			// μ§€μ—­ λ³€μˆ˜ (if)
        b += 5;
        }

printf("μ—°μŠ΅\n");


	return 0;
}
  • μ§€μ—­ λ³€μˆ˜λŠ” λ²”μœ„κ°€ μ œν•œλ˜μ–΄ μžˆμ–΄ λͺ¨λ“ˆν™”와 μœ μ§€λ³΄μˆ˜λ₯Ό μ‰½κ²Œ λ§Œλ“ λ‹€.
  • μ „μ—­ λ³€μˆ˜λŠ” λ²”μœ„κ°€ ν”„λ‘œκ·Έλž¨ μ „μ²΄μ΄λ―€λ‘œ λ‹€λ₯Έ ν•¨μˆ˜μ— μ ‘κ·Όν•  수 μžˆλ‹€.
  • μ „μ—­ λ³€μˆ˜λ₯Ό λ‚¨μš©ν•˜λ©΄ ν”„λ‘œκ·Έλž¨μ„ λ³΅μž‘ν•˜κ²Œ λ§Œλ“€μ–΄ μ£Όμ˜ν•΄μ•Όν•œλ‹€.

[ Variable Name ]

1. Rule ( κ·œμΉ™ )

1. 영문 μ‚¬μš© : λ³€μˆ˜λͺ…은 영문 λŒ€μ†Œλ¬Έμžλ‘œ μ‹œμž‘ν•΄μ•Ό ν•œλ‹€.


2. 숫자 μ‚¬μš© : λ³€μˆ˜λͺ…은 숫자둜 μ‹œμž‘ν•  수 μ—†κ³ , 영문 뒀에 μ‚¬μš© κ°€λŠ₯ν•˜λ‹€.


3. μ–Έλ”μŠ€μ½”μ–΄ μ‚¬μš© : λ³€μˆ˜λͺ…에 μ–Έλ”μŠ€μ½”μ–΄(_)λ₯Ό 포함할 수 μžˆλ‹€.
"(ex : my_variable )"


4. μ˜ˆμ•½μ–΄ μ‚¬μš© κΈˆμ§€: C++μ—μ„œ 이미 μ˜ˆμ•½λœ ν‚€μ›Œλ“œ(μ˜ˆμ•½μ–΄)λ₯Ό λ³€μˆ˜λͺ…μœΌλ‘œ μ‚¬μš©ν•  수 μ—†λ‹€.
"(μ˜ˆμ•½μ–΄ : while, for, int, ㆍㆍㆍ)"

1. Convention ( κ΄€λ‘€ )

1. 의미 μžˆλŠ” λ³€μˆ˜λͺ… : λ³€μˆ˜λͺ…은 ν•΄λ‹Ή λ³€μˆ˜μ˜ μ—­ν• μ΄λ‚˜ 의미λ₯Ό 잘 λ‚˜νƒ€λ‚΄μ•Ό ν•œλ‹€. 


2. Camel Case μ‚¬μš© : 
μ—¬λŸ¬ λ‹¨μ–΄λ‘œ 이루어진 λ³€μˆ˜λͺ…을 μ‚¬μš©ν•  λ•Œ, 첫 단어λ₯Ό μ†Œλ¬Έμžλ‘œ
μ‚¬μš©ν•˜κ³  각 λ‹¨μ–΄μ˜ 첫 κΈ€μžλ₯Ό λŒ€λ¬Έμžλ‘œ μ λŠ” Camel Caseλ₯Ό μ‚¬μš©ν•œλ‹€.
"(ex : myVariableName)"


3. Snake Case μ‚¬μš© :
λ³€μˆ˜λͺ…μ΄λ‚˜ ν•¨μˆ˜λͺ…을 μ—¬λŸ¬ λ‹¨μ–΄λ‘œ 이루어진 경우, 
각 단어λ₯Ό μ–Έλ”μŠ€μ½”μ–΄(_)둜 κ΅¬λΆ„ν•˜λŠ” Snake Caseλ₯Ό μ‚¬μš©ν•œλ‹€.
"(ex : my_variable_name)"



4. μƒμˆ˜μ˜ 경우 λŒ€λ¬Έμž :
μƒμˆ˜(λ³€κ²½λ˜μ§€ μ•ŠλŠ” κ°’)의 이름은 λŒ€λ¬Έμžλ‘œ μž‘μ„±ν•˜λ©°,
μ—¬λŸ¬ λ‹¨μ–΄λ‘œ 이루어진 경우 μ–Έλ”μŠ€μ½”μ–΄λ‘œ κ΅¬λΆ„ν•œλ‹€. 
"(ex : const int MAX_VALUE = 100;)"



5. 의미 μžˆλŠ” μ•½μ–΄ μ‚¬μš© : κΈ΄ λ³€μˆ˜λͺ… λŒ€μ‹  의미 μžˆλŠ” μ•½μ–΄λ₯Ό μ‚¬μš©ν•œλ‹€.
"(ex : "maximum" λŒ€μ‹  "max".)"



6. 일관성 μœ μ§€ : ν”„λ‘œμ νŠΈ λ‚΄μ—μ„œ 일관성 μžˆλŠ” λ³€μˆ˜λͺ… κ·œμΉ™μ„ μ‚¬μš©ν•˜λŠ” 것이 μ€‘μš”ν•˜λ‹€.




      **[ λͺ¨λ“  κ°œλ°œμžκ°€ λ™μΌν•œ κ·œμΉ™μ„ λ”°λ₯΄λ©΄ μ½”λ“œμ˜ 가독성이 ν–₯μƒλ©λ‹ˆλ‹€. ]**

πŸ’¬ COMMENT

λ³΄μ‹œλŠ” 뢄이 λ§Žμ§€λŠ” μ•Šκ² μ§€λ§Œ ν˜Ήμ‹œ 잘λͺ»λœ 정보가 있으면 μ•Œλ €μ£Όμ‹œλ©΄ κ°μ‚¬ν•˜κ² μŠ΅λ‹ˆλ‹€.

profile
ν•™μŠ΅ν•˜λŠ” 쀑

0개의 λŒ“κΈ€