Pour compléter ce que vient de dire gulain, il faut savoir que quand tu fais ça :
char *p="Hello", aucun espace mémoire n'est réservé sur le tas comme ce serait le cas avec
malloc, ou sur la pile comme ce serait le cas avec le tableau
a. La chaine
"Hello" est mise dans une zone spécifique de la mémoire où sont placées les constantes. Tu ne peux donc pas modifier les données pointées par
p, bien que tu puisses modifier
p lui-même.
Mon échange avec gangsoleil dans cette discussion pourra t'intéresser :
http://www.developpez.net/forums/d12...n/#post6770934
PS :
char *p="Hello" est une allocation statique :
http://fr.wikipedia.org/wiki/Allocation_de_m%C3%A9moire
Partager