반응형
c언어 동적 할당 메모리에 대하여 알아보기
네 안녕하세요, 이번 포스팅에서는 동적 할당 메모리에 대하여 알아보도록 하겠습니다.
동적 할당 메모리는 실전 프로그래밍을 할 때 c언어 베이스의 모듈이나 웹 프레임워크 등에서
정말 자주 쓰입니다.
그렇기 때문에 매우 중요한 요소이기 때문에 잘 숙지하셔야 합니다.
그럼 지금부터 시작해 보도록 하겠습니다.
1. 동적 할당 메모리란?
메모리 할당 방식에는 크게 두 가지가 있습니다.
- 정적 메모리 할당(static memory allocation)
- 동적 메모리 할당(dynamic memory allocation)
이 중에 우리는 미리 메모리 할당 공간을 정해서 저장을 하는 정적 할당 방식을 썼습니다.
이런 식으로 말이죠.
int score[100];
이렇게 하면 100개의 정수를 저장할 수 있지만,
그 와 동시에 100개의 정수만 저장할 수 있게 됩니다.
그럼 동적 할당의 경우는 어떨까요?
동적 할당의 경우는 실행 도중에 메모리를 할당 받는데,
필요한 만큼의 메모리를 할당 받아 사용을 한 후에,
다시 그걸 반납하는 형태로 쓰입니다.
사용 방법은 이렇습니다.
score = (int *) malloc(100 * sizeof(int));
이런 식으로 정수형 변수의 크기만큼 동적으로 필요시에 할당을 받을 수 있습니다.
위 코드는 100개의 정수를 필요할 때마다 받을 수 있게 해 둔 것입니다.
반응형
2. 동적 메모리의 사용 절차
동적 메모리의 할당 절차는 아래와 같습니다.
- 얼마나 할당을 받을 것인지 결정한 후에 라이브러리 함수를 호출해 운영체제에게 메모리 요청을 한다.
- 할당이 된 메모리를 사용한다.
- 메모리를 다시 반납한다.
이러한 방식으로 진행이 되며,
마치 도서관 등에서 책을 빌리는 것과 유사합니다.
그리고 메모리는 무조건 반납이 되는데,
그 이유는 그러지 않으면 다른 프로그램이 동적 메모리를 사용할 수 없기 때문입니다.
여기까지 동적 할당 메모리에 대하여 알아보았는데요,
다음 포스팅에서는 동적 메모리의 할당, 사용, 반납 방법을 알아보도록 하겠습니다.
긴 글 읽어주신 독자분들께 진심으로 감사드립니다~
반응형
'c언어' 카테고리의 다른 글
c언어 동적 메모리 사용하는 기본 예제 풀어보기(정수를 저장할 수 있는 동적 메모리 생성하기, 성적 처리 프로그램 작성하기, 동적 메모리에 구조체를 저장할 수 있는 공간 할당 받기) (0) | 2023.02.27 |
---|---|
c언어 동적 메모리 할당, 사용, 반납 방법 알아보기 (0) | 2023.02.27 |
c언어 여러가지 전처리기와 매크로, 다중 소스 파일을 이용하여 여러 가지 문제 풀기(ASSERT 매크로 작성하기, 비트 매크로 작성하기, 여러가지 버전 정의하기(디럭스 버전과 스탠다드 버전 정.. (0) | 2023.02.22 |
c언어 비트 필드 구조체에 대하여 알아보기 (0) | 2023.02.22 |
c언어 다중 소스 파일에 대하여 알아보기 (2) | 2023.02.22 |
댓글