1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34
|
#include<stdio.h>
#include<stdlib.h>
void allouer(int** ptr){
(*ptr) = malloc(10*sizeof(int));
}
void ptrEstIlNull(int* ptr){
if(ptr==NULL)
printf("tab est null\n");
else
printf("tab n'est pas null\n");
}
int main(){
int* tab;
/* Initialisations */
tab = NULL;
ptrEstIlNull(tab);
allouer(&tab); /* Tu ne traites pas le cas où l'allocation échoue, ce qui peut faire crasher ton programme */
ptrEstIlNull(tab);
free(tab); /* Non symétrique : tu as une fonction pour allouer, mais pas pour désallouer, ce qui n'est pas une bonne habitude */
tab = malloc(10*sizeof(int));
ptrEstIlNull(tab);
free(tab);
return 0;
} |
Partager