본문 바로가기
컴퓨터/프로그래밍

정적할당, 동적할당, 자동할당 차이

by Begi 2022. 10. 20.
반응형

변수 종류는 정적할당, 동적할당, 자동할당 변수로 구분할 수 있다.

 

1) 정적할당 (Static Memory Allocation)

정적할당 변수는 전역변수와 같이 프로그램이 실행되면 메모리를 할당하고 프로그램이 종료될때까지 사용하는 변수이다.

 

2) 자동할당 (Automatic Memory Allocation)

자동할당 변수는 지역변수와 같이 프로그램 실행 중 함수가 호출되면 함수내의 변수는 스택에 저장하고 함수를 빠져 나오면 스택에서 해제된다.

 

프로그램이 실행됨에 따라 스택에 저장되는 변수는 커졌다 작아졌다를 한다.

 

지역변수를 Local variable 또는 Automatic variable이라고 한다.

 

3) 동적할당 (Dynamic Memory Allocation)

동적할당 변수는 malloc 함수를 사용하여 메모리를 할당하여 사용하고 사용 후에는 free 함수로 메모리를 해제한다.

 

프로그램이 실행됨에 따라 동적할당 메모리는 커졌다 작아졌다를 한다.

 

자동할당은 CPU에서 지원하는 스택을 사용하기 때문에 고속으로 처리할 수 있지만 동적할당은 소프트웨어로 메모리를 할당하기 때문에 속도가 느리다. 하지만, 동적할당은 정적할당보다 훨씬 큰 메모리를 사용할 수 있다.

 

반응형

'컴퓨터 > 프로그래밍' 카테고리의 다른 글

MFC 사용을 위한 Visual Studio 설치  (0) 2023.01.04
추상 데이터 타입 (ADT) 뜻  (0) 2022.12.24
MFC를 배우기 어려운 이유  (0) 2022.09.23
프로그래밍의 미래  (0) 2022.09.12
Atom 파일 탭 여러 줄로 표시  (0) 2022.07.01

댓글