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 |