코드는 다음과 같다 :C에서 정적 변수와 자동 변수를 free() 할 수 있습니까?
#include <stdlib.h>
int num = 3; // Static external variable
int *ptr = #
int main(void)
{
int num2 = 4; // Automatic variable
int *ptr2 = &num2;
free(ptr); //Free static variable
free(ptr2); //Free automatic variable
return 0;
}
나는 위의 코드를 컴파일하려고하고 내가 할 수 free()
기능은 정적 변수도 자동 변수를 모두 무료로 않습니다 궁금 작품? 아니면 기본적으로 아무것도하지 않습니까? 메모리 할당 함수 (malloc
, calloc
등)으로 반환되지 포인터에 free()
호출
"작품"을 충분히 낮은 품질로 정의하는 데 "효과적"입니다. 동일한 시스템, 동일한 컴파일러 또는 다른 컴파일 옵션에서도 충돌이 발생할 수 있습니다. ** ** 정의되지 않은 동작 ** - 아무거나 일어날 수 있습니다. 예상했던 것조차도 가능합니다. – Jens