프리 머 티브 또는 프리미티브 배열을 선언하고 있습니다 (스택 오른쪽에 있음). 메모리를 가져 가지 않거나 누출시키지 않도록 "무료"또는 정리하는 방법은 무엇입니까? 예를 들어메모리, 프리미티브 및 C
:
int blah;
blah=7;
doSomethingWithBlah...
free(blah) //[?]
아마
보통이 아닌 비트 거래; 하지만 거대한 문자 배열이나 뭐라고 말하면 어떨까요?
또한 '로컬'변수 (즉, 함수 내부)는 기본적으로 '자동'이며 자동으로 정리됩니다. [Java에서는 스코프를 벗어날 때 GCed입니다.
그냥 고맙습니다. 고마워요.
이것은 내가 아는 세부 사항이며, 필자가 작성한 내용이 정확하다고 생각합니다. 내가 잘못한 부분을 바로 잡아 주시거나이 주제에 대한 지식을 향상시키지 못한 정보를 좀 더 제공해주십시오. –
감사합니다. 약간의 질문. 글로벌 바는 어떨까요? (또는 결코 범위를 벗어날 수없는 하나). 수동으로 해제 할 수있는 방법이 있습니까? 이론적으로 당신은 거대한 char 배열을 할당하여 ascii 파일을 저장한다고합니다. 당신이 그것을 사용하여 (그리고 그것이 범위를 벗어나지 않을 것이라는 가정하에) 끝내면 어떤 방법으로 그것을 청소할 수 있습니까? 이론적으로 그것은 내가 생각하는 힙에 있어야합니다. – user697111
내가 아는 한, 글로벌 vars는 프로그램이 종료 될 때 단순히 범위를 벗어날 것입니다. 나는 그들이 스택에 저장되지 않는다고 생각하지만. 데이터/메모리의 특정 부분이 글로벌 바스 전용이라고 생각합니다. 여기에 대한 자세한 내용은 http://annwm.lbl.gov/~leggett/vars.html을 참조하십시오. –