![]() |
[C TOTW 2] Parcours de tableau - Version imprimable +- N-PN White-Hat Project (https://dev.n-pn.fr/forum) +-- Forum : Programmation (https://dev.n-pn.fr/forum/forumdisplay.php?fid=72) +--- Forum : Langages compilés (https://dev.n-pn.fr/forum/forumdisplay.php?fid=25) +--- Sujet : [C TOTW 2] Parcours de tableau (/showthread.php?tid=3738) |
[C TOTW 2] Parcours de tableau - ark - 01-09-2014 RE: [C TOTW 2] Parcours de tableau - crown - 22-09-2014 RE: [C TOTW 2] Parcours de tableau - ark - 22-09-2014 Oui, c'est bien ça =) RE: [C TOTW 2] Parcours de tableau - crown - 29-09-2014 RE: [C TOTW 2] Parcours de tableau - EpicOut - 29-09-2014 RE: [C TOTW 2] Parcours de tableau - crown - 29-09-2014 Autant pour moi le (&arr)[1] c'est une erreur d’inattention dans le code que je compile je mets bien &tab mais ça me donne le même résultat (càd rien). Du coup oui (&tab[5]) marche mieux en effet, bon en l'occurence c'est (&tab[6]) pour afficher toutes les valeurs. Par contre (&tab[6]) == (tab + 6) (ici je vois bien pourquoi c'est deux expressions ce valent) mais pour (&tab + 12) je vois pas en quoi cette expression est interprétée comme les deux précédentes. [EDIT] : Je pense avoir un début d'explication pour (&tab + 12) qui correspond à (&tab[6]), dîtes moi si je me trompe : on prend &tab = 0028FEE0 et (&tab + 12) = 0028FF10, on a donc 0x0028FF10 - 0x0028FEE0 = 0x30 soit 48 en décimal, en sachant que sizeof(*ptr) = 4, on a 48 / 4 = 12, ici on retrouve le 12 mais à partir de là je vois toujours pas pourquoi ça correspond. Ce qui est assez déroutant c'est que tab devrait être égal à &tab en ce qui concerne l'adresse, helas non dans la fonction, tab = 0028FEF8 et &tab = 0028FEE0 soit 24(d) de moins (ce qui correspondrait au tableau de 6 int ?, un int étant de 4 octets). Si vous avez des suggestions pour expliquer ça ? ; je suis preneur. |