Petite incomprehension [Résolu/Fermé]

Signaler
-
 coachedwin -
Bonjour,

j'ai eu un test de C dans lequel on me disait, quelle est l'erreur, si la ligne n'a pas d'erreur, on l'execute

int *p,*q;
q[0]=0; 1°)
p=(int*)malloc(sizeof(int)); 2°)
q=p; 3°)
q[0]=1; 4°)

j'ai répondu 3 car apres le malloc, ça me paraissait etrange, mais on me dit que la reponse etait 1, pourquoi?
merci.

1 réponse

Messages postés
513
Date d'inscription
dimanche 30 décembre 2007
Statut
Membre
Dernière intervention
20 novembre 2011
177
Bonjour,

la réponse est 1) car tu accèdes à l'élément 0 alors que tu n'as pas encore alloué de mémoire...
n'est-il pas censé le metttre dans la pile alors?
ah ok, j'ai compris, desole
Messages postés
513
Date d'inscription
dimanche 30 décembre 2007
Statut
Membre
Dernière intervention
20 novembre 2011
177
question résolue ?
oui merci