IMPORTANT: Per accedir als fitxer de subversion: http://acacha.org/svn (sense password). Poc a poc s'aniran migrant els enllaços. Encara però funciona el subversion de la farga però no se sap fins quan... (usuari: prova i la paraula de pas 123456)

malloc()

La funció malloc (memory allocation)

La capçalera de malloc és la següent:

#include <stdlib.h>
void *calloc(size_t nmemb, size_t size);
void *malloc(size_t size);
void *realloc(void *ptr, size_t size);

Cal destacar que malloc retorn un punter de tipus indefinit (void*). Per aquesta raó típicament es caldrà utilitzar operacions de casting:

char* ptr= (char*) malloc(10000);

El valor de retorn pot ser un punter al principi de l'espai de memòria reservada o un valor NULL si no s'ha pogut reservar memòria suficient o hi ha algun tipus de problema.

Cal destacar que size_t és una tipus definit a les capçaleres de les llibreries bàsiques (stdlib.h i altres) que indica el valor d'un unsigned int en la plataforma que estiguem treballant.

Recursos:

free()

És la funció inversa de malloc. Allibera la memòria utilitzada del piló per un malloc anterior.

#include <stdlib.h>
void free(void *ptr);

El paràmetre *ptr és una adreça de memòria que apunti a un zona reservada de memòria per malloc.

Operador sizeof()

L'operador sizeof ens permet determinar en temps d'execució l'espai de memòria ocupat per una variable o per un tipus de dades (recordeu que la mida d'un tipus de dades pot variar depenent de la plataforma- p. ex. entre plataformes de 32 bits i 64 bits).