메모리영역

sz L·2023년 3월 22일
0

C++

목록 보기
6/40
post-thumbnail

메모리 공간

실행중인 프로그램은 운영체제로부터 메모리 공간을 할당받는데, 이는 크게 데이터, 스택, 힙 영역으로 나눌 수 있다.

  • 데이터
    • 전역변수가 저장되는 영역
  • 스택
    • 지역변수 및 매개변수가 저장되는 영역
    • 예를 들어 main함수 내 변수 및 함수 저장
    • malloc 함수호출에 의해 프로그램이 실행되는 과정에서 동적으로 할당이 이뤄지는 영역
  • malloc & free
    • malloc 함수호출에 의해 할당된 메모리 공간은 free 함수호출을 통해 소멸해야만 해제됨

#include <iostream>
#include <stdio.h>

int g = 0;		// 전역변수

void func()
{
	printf("func()    : %p\n",func);
}

int main()
{
	int n = 10;		// 지역변수
	static int c = 10;		// 정적 변수
	const int d = 10;
	char arr[10] = "hi";
	
	printf("주소확인\n");
	printf("local   n : %p\n", &n);
	printf("global  g : %p\n", &g);
	printf("static  c : %p\n", &c);
	printf("const   d : %p\n", &d);
	printf("array     : %p\n", arr);
	func();

	return 0;
}

int, const int, char arr : 지역변수
static, func() : 전역변수 / 함수

profile
가랑비는 맞는다 하지만 폭풍은 내 것이야

0개의 댓글