π‘ λ³μλ μ μ μμ΄ λ§μ΄ μ¨μλλ° κ·Έ μ’ λ₯λ μ°μ΄λ λ°©λ²μ λν΄ λ¬»λλ€λ©΄ 5μ΄λ§μ λ΅μ΄ λμ¬ κ² κ°μ§λ μμλ€. κ·Έλμ μ΄λ² ν¬μ€νΈμμλ λ³μμ μ’ λ₯μ λν΄ λΈλ‘κΉ ν΄λ³΄λλ‘ νκ² λ€.
μ»΄ν¨ν°κ° λ³μλ₯Ό μ²λ¦¬νλ λ°©λ²
μ½λ μμλ°μ΄ν° μμν μμμ€ν μμ
μμ€μ½λ | μ μ λ³μ, μ μ λ³μ | λμ ν λΉ λ³μ | μ§μ λ³μ, 맀κ°λ³μ |
λ©λͺ¨λ¦¬μ ꡬ쑰λ λ무 κΈΈμ΄μ§ κ² κ°μμ λ€λ₯Έ ν¬μ€ν μμ λ€λ£¨κΈ°λ‘ νκ² λ€.
μ μλ³μ
- μ μλ³μλ μ΄λμλ μ κ·Όκ°λ₯ν λ³μμ΄λ€.
- ν΄λΉ νμΌμ λμ΄ λ€λ₯Έ νμΌμμλ μ κ·Όμ΄ κ°λ₯νλ€.
- main ν¨μκ° μ€νλκΈ° μ μ νλ‘κ·Έλ¨μ λ©λͺ¨λ¦¬μ ν λΉλλ€.
- λ©λͺ¨λ¦¬ λ°μ΄ν° μμμ μ μ¬λλ€.
#include <stdio.h>
int global = 10;
int globalTest() {
global += 5;
printf("ν¨μμμ μ μλ³μ μ¬μ© : %d\\n", global);
}
int main() {
printf("μ μλ³μ : %d\\n", global);
globalTest();
return 0;
}
μ§μλ³μ
- νΉμ λΈλ‘μμλ§ μ κ·Ό κ°λ₯νλ€.
- ν¨μκ° μ€νλ λλ§λ€ λ©λͺ¨λ¦¬μ ν λΉλλ©°, ν¨μκ° μ’ λ£λλ©΄ λ©λͺ¨λ¦¬μμ ν΄μ λλ€.
- λ©λͺ¨λ¦¬ μ€ν μμμ κΈ°λ‘λλ€.
#include <stdio.h>
int functionTest() {
int temp = 5;
temp += result; // resultλ³μλ₯Ό λΆλ¬μ¬ μ μκΈ° λλ¬Έμ Error
return temp;
}
int main() {
int result = 10;
printf("result κ²°κ³Ό : %d\\n", functionTest());
return 0;
}
μ μ λ³μ
- μ μΈλ νμΌ λ΄μμλ§ μ κ·Όμ΄ κ°λ₯νλ€.
- νλ‘κ·Έλ¨μ΄ μ€νλ λ λ©λͺ¨λ¦¬μ ν λΉλμ΄ νλ‘κ·Έλ¨μ΄ μ’ λ£λλ©΄ ν΄μ λλ€.
- λ°μ΄ν° μμμ μ μ¬λλ€.
- μ μ λ³μμ μ μΈλ static ν€μλμ μλ―Έ : μ μΈλ νμΌ λ΄μμλ§ μ°Έμ‘°λ₯Ό νμ©
- ν¨μ λ΄μ μ μΈλ static ν€μλμ μλ―Έ : νλ²λ§ μ΄κΈ°νλκ³ , μ§μ λ³μμ λ¬λ¦¬ ν¨μλ₯Ό λΉ μ Έλκ°λ μλ©Έλμ§ μλλ€.
- μ μ μ§μλ³μ μμ
#include <stdio.h>
void set_num(){
static int num;
printf("%d\\n", num);
num++;
}
int main(){
set_num();
set_num();
set_num();
return 0;
}
/* κ²°κ³Ό : 0
1 //κ°μ΄ μ μ§λ μ±λ‘ μ¦κ°λλ€.
2 */
#include <stdio.h>
void set_num(){
static int num;
printf("%d\\n", num);
num++;
}
int main(){
set_num();
printf("%d\\n", num); // numμ΄ μ§μλ³μμ΄κΈ° λλ¬Έμ Error λ°μ
return 0;
}
- μ μ μ μλ³μ μμ
#include <stdio.h>
static int num = 1;
void increase_num(){
num++;
printf("%d\\n", num);
}
int main(){
printf("%d\\n", num);
increase_num();
increase_num();
return 0;
}
/* κ²°κ³Ό : 0
1 //κ°μ΄ μ μ§λ μ±λ‘ μ¦κ°λλ€.
2 */
λ μ§μ€ν°λ³μ
- CPUμ κ°κΉμμ μλκ° λΉ λ₯΄λ€.
- λ§€μ° λΉ λ₯΄κΈ° λλ¬Έμ λ°λ³΅λ¬Έμ μ°μ΄κΈ° μ λΉνλ€.
- λκ° μ΄μ μ¬μ©νλ©΄ CPUμ 무리λ₯Ό μ£Όλ―λ‘ λ μ§μ€ν°λ³μλ‘ μ¬μ©ν μ μκ³ auto λ³μλ‘ μ νλλ€.
- λ§€μ° νμ λμ΄ μκΈ°λλ¬Έμ μ νν μ²λ¦¬λ μ§λ μ₯λ΄ν μ μλ€.
#include <stdio.h>
int main() {
register int cnt;
register long sum;
sum = 0;
for(cnt = 1 ; cnt < ; cnt++) {
sum += cnt;
}
printf("sum is %d\\n", sum);
return 0;
}
맀κ°λ³μ
- κ°μ μν μ λ¬ λ°©μμ ν¨μλ΄μμ λ§μΉ μ§μλ³μμ²λΌ λ³μλ₯Ό μλ‘κ² μμ±νλ€.
- μ°Έμ‘°μ μν μ λ¬λ°©μμ μ£Όμλ₯Ό μ λ¬νλ―λ‘ μλμ λ³μ μ체μ μ κ·Ό κ°λ₯νλ€.
- μ°Έμ‘° μ λ¬μ μ¬μ©νκΈ° μν΄μλ ν¨μλ₯Ό μ μΈν λ 맀κ°λ³μ μμ &μ λΆμ¬μ£Όλ©΄ λλ€.
- 맀κ°λ³μλ ν¨μμ μ λ¬νλ parameterλ₯Ό λ»νλ€.
int add(int x, int y) { // xμ yκ° λ§€κ°λ³μ
return x + y;
}
add(2, 7); // 2μ 7μ΄ μΈμ(argument)
λ§μΉλ©°..
μ μλ³μμ μ μ λ³μκ° λ§μ΄ ν·κ°λ Έμλλ° μ΄λ² ν¬μ€ν μΌλ‘ νμ€νκ² μ΄ν΄κ° λ κ² κ°λ€.
λ μ§μ€ν° λ³μλ μ²μ λ€μ΄λ΄€λλ° λ μ§μ€ν° λ³μλ μ νμ©νλ©΄ λΉ λ₯Έ νλ‘κ·Έλ¨μ λ§λ€ μ μμ κ² κ°λ€.
μ°Έκ³ ν μλ£λ€
'TIL' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
λμ λ©λͺ¨λ¦¬ ν λΉμ΄λ? (0) | 2023.01.04 |
---|---|
ν¬μΈν° λ³μλ? (2) | 2023.01.04 |
μ»΄ν¨ν°κ° μλ₯Ό νννλ λ°©λ² (0) | 2023.01.04 |
λλ체 TypeScriptκ° λκΉ? (0) | 2023.01.04 |
async, await, Promise κ·Έλ¦¬κ³ λκΈ°μ λΉλκΈ° (2) | 2023.01.04 |