mbarekh a écrit :
mais moi je dis juste que a et b sont des pointeurs vers deux cases memoires qui contiennent une 2 et l'autre 3.C'est pas possible en C?
|
Ben non. 2 et 3 sont de expression constantes. elles n'ont pas d'adresse.
Tu veux faire
Reprenons. L'objet du litige est là :
a est une variable non initialisée. OK ?
comme c'est un pointeur, tu le déréférences avec l'opérateur '*' et tu mes une valeur dans la zone pointée.
C'est syntaxiquement correct, mais il y a un hic. Comme la valeur de a est indéterminée, l'opérateur * cherche à atteindre une zone mémoire dont l'adresse est indéterminée. Tu penses que c'est correct ?
Ben non. Ca s'appelle un 'comportement indéterminé' et c'est un sale bug qui peut provoquer n'importe quoi.
Donc, quand des intervenants expérimentés de ce forum te disent qu'il y a un problème avec l'initialisation du pointeur, tu peux le croire et arréter de vouloir faire le malin.
Message édité par Emmanuel Delahaye le 13-04-2006 à 23:59:31
---------------
Des infos sur la programmation et le langage C: http://www.bien-programmer.fr Pas de Wi-Fi à la maison : http://www.cpl-france.org/