
int add(int a, int b) {
return a + b; // 이 코드 자체가 코드 영역에 저장
}
초기화된 데이터 영역
전역 변수, static 변수 중 초기값이 있는 것 저장int g1 = 10; // 초기화된 전역 변수 -> Data 영역
static int s1 = 5; // 초기화된 static 변수 -> Data 영역
프로그래머가 직접 관리(malloc, calooc, realloc, free)직접 해제 안하면 메무리 누수 발생#include <stdlib.h>
int* p = (int*)malloc(sizeof(int) * 100); // 힙에 100개 int 배열 생성
free(p) // 해제 필요
지역 변수, 매개변수, 리턴 주소 저장void func() {
int x = 10; // 스택에 저장
}
=>
데이터 영역과 다르게 지역 변수는 스택 영역에 저장