Que je sache, de manière générale, déréférencer le pointeur null est indéfini. C'est que qui permet, par exemple, dans:
intmain(void){int*p;*p=3;return0;}
au compilateur de justifier d'enlever p vu qu'il n'est pas utilisé, ce qui fait qu'au lieu d'avoir un crash ou une écriture à l'adresse nulle (les deux comportements intuitifs que tu mentionnes), il termine et renvoie 0.
[^] # Re: Comportement indéfini ou incorrect ?
Posté par anaseto . En réponse au journal Compilateur trop intelligent. Évalué à 2.
Que je sache, de manière générale, déréférencer le pointeur null est indéfini. C'est que qui permet, par exemple, dans:
au compilateur de justifier d'enlever
pvu qu'il n'est pas utilisé, ce qui fait qu'au lieu d'avoir un crash ou une écriture à l'adresse nulle (les deux comportements intuitifs que tu mentionnes), il termine et renvoie 0.