SiGmA9o9/OtL!
06 57 264 576 |
int *ptr; /* déclaration d'une variable 'ptr' pointant vers l'adresse d'un 'int'. La variable 'ptr' ne pointe encore sur aucune zone mémoire! */ ptr = malloc(100); /* crée un tableau de 100 octets et copie l'adresse de début dans 'ptr' (50 variables sur 16 bits et 25 sur 32 bits) */ | l |
if ((ptr = malloc (50 * sizeof (int))) == NULL) { printf ("erreur!"); exit (0); } else { .................... .................... } | l |
Fonction | Prototype de la Fonction | Header |
calloc | void *calloc (nb, taille (type)) | stdlib.h |
float *ptr; /* variable pointeur */ ptr = calloc (50, sizeof(float)); /* crée donc un bloc de 50 variables d'une taille de 50 * (sizeof(float)) */ | l |
l | 'calloc' retourne aussi un pointeur NULL en cas de manque de mémoire... |
Fonction | Prototype de la Fonction | Header |
realloc | void *realloc (pointeur, taille) | stdlib.h |
char *ptr; /* Variable pointeur */ ptr = malloc (50 * sizeof(char)); /* Allocation d'un bloc mémoire de 50 * (sizeof(char)) */ ptr = realloc (ptr, 60 * sizeof(char)); /* changement de taille!! 60 * (sizeof(char)) */ | l |
l | 'realloc' n'échappe pas à la règle! Il retourne la valeur (0) NULL si il y a un problème avec la mémoire... |
Fonction | Prototype de la Fonction | Header |
free | void free (pointeur) | stdlib.h |
double *ptr; /* variable pointeur */ ptr = malloc (20 * sizeof (double)); /* crée 20 variables d'une taille de 20 * (sizeof(double); */ free (ptr); /* libération de 20 * (sizeof(double)) octets */ | l |