Bonjour,
J’étudie actuellement les pointeurs et je n’arrive pas à saisir ce qu’il se passe dans ce code à la ligne 15 :
#include <stdio.h>
#include <stdlib.h>
void my_print(int* p)
{
printf("p contient l'adresse %p et à cette adresse se trouve la valeur %i\n", p, *p);
}
int main()
{
int* p = malloc(sizeof(int));
*p = 12;
my_print(p); // Valeur de *p : 12
free(p);
my_print(p); // Valeur de *p : 0
return 0;
}
La ligne 15
est-elle équivalente de l’instruction *p = 0;
? Dans les deux cas, le programme renvoie les mêmes messages.
+0
-0