The Wayback Machine - https://web.archive.org/web/20090825032827/http://c.conclase.net:80/librerias/funcion.php?fun=free
Librer�as ANSI C
Funciones
Consultas, lista de correo 'C++ Con Clase' 'C++ Con Clase' p�gina de entrada Contactar con Webmaster

stdlib

Funciones

abort abs atexit atof atoi atol bsearch calloc div exit free getenv labs ldiv malloc mblen mbstowcs mbtowc qsort rand realloc srand strtod strtol strtoul system wctomb

Macros

EXIT_FAILURE EXIT_SUCCESS MB_CUR_MAX NULL RAND_MAX

Estructuras

div_t ldiv_t size_t wchar_t

Funci�n free ANSI C

void free(void *ptr);

Causa el espacio apuntado por ptr a ser desadjudicado, esto es, ser disponible para otra adjudicaci�n. Si ptr es un puntero nulo, no se realizar� ninguna acci�n. De lo contrario, si el argumento no corresponde a un puntero previamente retornado por la funci�n calloc, malloc, o realloc, o si el espacio ha sido desadjudicado por una llamada a free o realloc, el comportamiento no est� definido.

Valor de retorno:

La funci�n free no retorna ning�n valor.

Ejemplo:

#include <stdio.h>
#include <stdlib.h>

int main( void )
{
   int *numPtr, i;
   size_t tamanyo=0;

   printf( "Introduzca el tama�o de la lista: " );
   scanf( "%d", &tamanyo );

   puts( "Adjudicamos espacio a la lista." );
   numPtr = (int *)malloc( tamanyo*sizeof(int) );

   for( i=0; i<tamanyo-1; i++ )
      printf( "%d, ", numPtr[i] = rand() % 100 + 1 );
   printf( "%d\n", numPtr[i] = rand() % 100 + 1 );

   numPtr = (int *)realloc( numPtr, tamanyo/=2 );
   printf( "Recortamos la lista a la mitad: %d\n", tamanyo );
   for( i=0; i<tamanyo-1; i++ )
      printf( "%d, ", numPtr[i] );
   printf( "%d\n", numPtr[i] );

   puts( "Liberamos el espacio." );
   free( numPtr );

   return 0;
}