Petite incomprehension

Résolu
coachedwin -  
 coachedwin - 8 nov. 2011 à 18:47
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

supernico Messages postés 513 Date d'inscription   Statut Membre Dernière intervention   193
 
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...
0
coachedwin
 
n'est-il pas censé le metttre dans la pile alors?
0
coachedwin
 
ah ok, j'ai compris, desole
0
supernico Messages postés 513 Date d'inscription   Statut Membre Dernière intervention   193
 
question résolue ?
0
coachedwin
 
oui merci
0