CPP_어소_42_동적할당(2)

CJB_ny·2022년 6월 24일
0

CPP_AROTHO

목록 보기
40/83
post-thumbnail

지금 뭐 하는중?

=> malloc(4)할당하고 float 로 받아 오고, int로 pF형변환해서 주소값 받아옴

이상태에서 실수를 *pF에다 값 넣어주고

int i = *pF 했을 때 이상한 큰 값나오는 이유는

부동소수점으로 표현된 2.4f를 int로 해석하니까 그런것이다~~ 굿.


일반적인 변수나 전역변수의 경우에는

실제 프로그램이 동작할 때 이미 파악이 다 됨.

  • 데이터 영역 특징

    프로그램이 시작될 때 -> 만들어진다.

힙 영역 메모리 해제

단점이 사용자가 직접 관리해야 한다.

free함수로 해제 ㄱㄱ.

그래서 이상한 스택 주소나 전역변수 주소를 넣어주면 안되겠제??

메모리 해제 해야함. 누수

이런 해제를 안해주게 되면 메모리가 "누수"된다고 해서

계속 사용하는 것으로 인식을 하기 때문에 이런 누수가 계속 쌓여간다.

이런거 os가 해제를 해줄 수도 있지만,

연속적으로 심각하게 많이 발생하면 메모리 부족 현상으로 이어진다.

누수 체크해주는 기능도 있음. (디버그 모드에서)

디버그 모드에서 그래서 최대한 문제를 잡고 release 버젼으로 출시

자바나 c#

C#의 경우 CLR 위에서 작성됨

CLR의 가비지 컬렉터가 알아서 메모리 해제하고 수거해가줌.

동적할당 하는 기능이 CLR안에 내부에 있음.

profile
https://cjbworld.tistory.com/ <- 이사중

0개의 댓글