Могу ли я использовать статические и автоматические переменные free() в C?

Код выглядит следующим образом:

#include <stdlib.h>

int num = 3;   // Static external variable
int *ptr = &num;

int main(void)
{
 int num2 = 4;  // Automatic variable
 int *ptr2 = &num2;

 free(ptr);  //Free static variable
 free(ptr2); //Free automatic variable

 return 0; 
}

Я пытаюсь скомпилировать приведенный выше код, и он работает, мне любопытно, может ли функция free()освобождать как статическую переменную, так и тоже автоматическая переменная? Или в основном ничего не делает?

8
задан meagar 27 July 2012 в 15:58
поделиться