3 réponses
Char Snipeur
Messages postés
9813
Date d'inscription
vendredi 23 avril 2004
Statut
Contributeur
Dernière intervention
3 octobre 2023
1 298
18 août 2010 à 16:37
18 août 2010 à 16:37
pourquoi veux tu expliquer chaque ligne de ce programme ?
Nous ne sommes pas là pour faire tes exercices à ta place. Expliquer chaque ligne reviens à faire un cours sur les pointeurs et les tableaux. Donc, autant que tu prennes directement un cours sur les pointeurs.
Néanmoins, s'il y a un point précis où tu bloques, nous pourrons t'aider.
Nous ne sommes pas là pour faire tes exercices à ta place. Expliquer chaque ligne reviens à faire un cours sur les pointeurs et les tableaux. Donc, autant que tu prennes directement un cours sur les pointeurs.
Néanmoins, s'il y a un point précis où tu bloques, nous pourrons t'aider.
En fait je me susi mal exprimer c est vrai, je comprend le programme ,
je suis just dans le flou concernant cette ligne
short *ptr=a;
le pointeur prendra quel valeur?
if (ptr==&a[3])
et cette ligne ce traduit bien par " Si le pointeur pointe vers l'adresse3 (donc la dernière valeur du tableau) alor il sera décrémenter de 3 et pointera vers la première valeur.
juste?
je suis just dans le flou concernant cette ligne
short *ptr=a;
le pointeur prendra quel valeur?
if (ptr==&a[3])
et cette ligne ce traduit bien par " Si le pointeur pointe vers l'adresse3 (donc la dernière valeur du tableau) alor il sera décrémenter de 3 et pointera vers la première valeur.
juste?
chico200987
Messages postés
791
Date d'inscription
mardi 6 avril 2004
Statut
Membre
Dernière intervention
30 juillet 2018
143
18 août 2010 à 16:50
18 août 2010 à 16:50
short *ptr=a;
Tu déclares un pointeur de short (qui est en fait un tableau aussi), et tu le fais pointer sur a.
Cela veut dire que maintenant, si tu modifies le tableau a, tu modifieras aussi la valeur de ton pointeur ptr puisqu'il pointe la même adresse en mémoire que ton tableau a.
Pour ta deuxième question, c'est oui ! Si ton pointeur est "décalé" jusque obtenir la valeur a la dernière adresse de a, alors on décrémente de 3 pour revenir pointer a la première valeur du pointeur
Char Snipeur
Messages postés
9813
Date d'inscription
vendredi 23 avril 2004
Statut
Contributeur
Dernière intervention
3 octobre 2023
1 298
19 août 2010 à 07:54
19 août 2010 à 07:54
Attention, chico dit quelque chose de totalement faux, ptr est un pointeur, ce n'est pas un tableau. La nuance est assez difficile à appréhender pour des novices, mais il ne faut pas l'oublier.
ptr est un pointeur dont la valeur est l'adresse de la première case de "a".
Ok avec le reste.
ptr est un pointeur dont la valeur est l'adresse de la première case de "a".
Ok avec le reste.
chico200987
Messages postés
791
Date d'inscription
mardi 6 avril 2004
Statut
Membre
Dernière intervention
30 juillet 2018
143
19 août 2010 à 09:50
19 août 2010 à 09:50
Un pointeur peut-être assimile a un tableau en mémoire, il y a une différence, mais c'est toujours la meilleure approche que l'on peut avoir quand on a du mal avec les pointeurs..
Char Snipeur
Messages postés
9813
Date d'inscription
vendredi 23 avril 2004
Statut
Contributeur
Dernière intervention
3 octobre 2023
1 298
19 août 2010 à 10:41
19 août 2010 à 10:41
NON, ça ne peut pas.
Un article bien écrit : http://www-clips.imag.fr/commun/bernard.cassagne/Introduction_ANSI_C/node67.html
Un article bien écrit : http://www-clips.imag.fr/commun/bernard.cassagne/Introduction_ANSI_C/node67.html
chico200987
Messages postés
791
Date d'inscription
mardi 6 avril 2004
Statut
Membre
Dernière intervention
30 juillet 2018
143
19 août 2010 à 11:41
19 août 2010 à 11:41
Techniquement non, visuellement c'est plus facile.
C'est comme ca que l'on m'a d'abord appris les pointeurs pour la première fois a l'Epitech, et c'est beaucoup plus facile d'appréhender ce sujet en faisant l'analogie avec les tableaux qu'en parlant directement d'adresse mémoire quand on a des problèmes.
Une fois acquis et avec l'expérience, on s'aperçoit que ce que l'on croyait n'est pas exact, mais que ca ne nous empêche pas de les utiliser correctement..
C'est comme ca que l'on m'a d'abord appris les pointeurs pour la première fois a l'Epitech, et c'est beaucoup plus facile d'appréhender ce sujet en faisant l'analogie avec les tableaux qu'en parlant directement d'adresse mémoire quand on a des problèmes.
Une fois acquis et avec l'expérience, on s'aperçoit que ce que l'on croyait n'est pas exact, mais que ca ne nous empêche pas de les utiliser correctement..