Code
#include <stdio.h>
int main() {
printf("Hello");
return 0
}
=>
main(), printf() 같은 함수 코드
Data
int count = 0;
static int flag = 1;
static int a;
=>
1, 2번째 줄은 Data 영역
3번째 줄은 BSS 영역 -> 초기화가 되지 않았기 때문
Heap
int *arr = (int*)malloc(10*sizeof(int));
=>
C언어에서는 malloc/free, C++에서는 new/delete는 Heap 영역에 저장
Stack 영역
void func(int x) {
int y = 10;
pritf("%d", x + y);
}
int main() {
func(5);
return 0;
}
=>
void func의 int y = 10은 지역 변수 -> Stack 영역에 저장
int main의 func(5)는 호출 시 매개 변수 x=5, y=10 -> Stack에 저장