티스토리 뷰

동적 메모리

동적 메모리의 기본 개념을 파악하고 용도를 설명할 수 있다.
동적으로 메모리 할당이 필요한 작업에 적용할 수 있다.

동적 메모리 이해

1.개요
  1. 메모리 할당 : (정적메모리)컴파일 시간에 이루어짐/ (동적메모리)실행 시간에 이루어짐
  2. 메모리 해제 : (정적메모리)자동으로 해제/(동적메모리)명시적으로 해제
  3. 사용 범위 : (정적메모리)지역변수는 선언된 블록 내, 전역변수는 프로그램 전체에서 사용
    (동적메모리)프로그래머가 원하는 동안 만큼 사용할 수 있음
  4. 메모리 관리 : (정적메모리)컴파일러의 책임/(동적메모리)프로그래머의 책임
1.개요
  1. 데이터의 개수를 미리 알 수 없을 때 사용
  2. 처리 대상 데이터가 유동적일 때, 특히 변동 폭이 큰 경우
2.라이브러리 함수 종류 : 헤더파일 stdlib.h
  1. 설명 : -실행 시 메모리를 할당(초기화 없음)
    -size : 할당 크기
  2. 반환 : -할당된 메모리 포인터를 반환
    -할당 실패 시 null을 반환

동적 메모리 활용

1.함수 기초

#include(stdio.h)
#include(string.h)

2.함수 활용

#include(stdio.h)
#include(string.h)

동적 메모리 이해

  • 동적 할당은 실행 시에 할당되는 메모리임
  • 동적 할당은 힙 영역에 할당함
  • 동적 할당은 실행 시 크기가 정해지는 데이터 처리에 효과적임
  • 동적 할당된 공간은 프로그래머가 해제해야 함

동적 메모리 활용

  • malloc,calloc은 동적으로 메모리를 할당하는 라이브러리 함수임
  • calloc은 동적 할당 후 0으로 초기화
  • free는 동적 할당된 메모리를 해제함
  • realloc은 동적 메모리의 크기를 변경하여 할당하는 것이 가능함
댓글
© 2018 webstoryboy