Les visiteurs n'ont qu'un droit de lecture. Pour obtenir les droits en écriture et ainsi partager avec les membres de la communauté Hackademics, vous devez vous inscrire.
Ouf, c'est très bien si tu as compris, car en ce qui me concerne, j'avais du mal à comprendre les propos de misterPoc... L'essentiel est que tu es compris, et surtout bien compris pour l'adapter par la suite dans tes codes.
Vu que les tailles des appartements son fixe.
À partir de là je suis plus... Attention aussi au verbe bidouiller, en C, ça ne pardonne pas !
C'est exacte merci d'éclaircir mes explications. Je prendrais le temps un peu plus tard pour faire un schémas ça sera plus compréhensible je pense. Pour la formule bidouiller tu as raison ce n'etait pas approprier. Je voulais dire que tu peux monter et descendre d'une adresse par pallier de 4 ou 8 bytes en fonction de la machine sur lequel ton programme tourne.
Je pensais que ageAmis[i] était une variable, mais non en faite c'est juste une valeur ^_^ la notation "ageAmis[i]"
désigne la valeur situé à l'adresse "ageAmis + i"
Je suis bon ? :v
C'est faux dans la maojorité des cas. Si ca fonctionne c'est que ton compilateur a modifié le code pour toi.
C'est uniquement vrai dans le cas d'un pointeur sur char (char*).
Lorsqu'on parcourt un tableau, on ne se deplace pas de la meme maniere selon le type du tableau:
Tableau de char:
0x0000 : addresse de tab[0]
0x0001 : addresse de tab[1]
0x0002 : addresse de tab[2]
Tableau d'int:
0x0000 : addresse de tab[0]
0x0004 : addresse de tab[1]
0x0008 : addresse de tab[2]
En effet, tu dois savoir qu'un char et un int ne prenne pas le meme espace en mémoire.
Donc lorsque tu fais "ageAmis + i", i etant incrémenté de 1 a chaque tour de boucle, tu n'accederas pas a la variable x du tableau lorsque tu manipules autre chose qu'un tableau ou pointeur (c'est quasiment la meme chose mais il existe une petite subtilité) de char.
Je ne sais pas quel compilateur tu utilises, mais la plupart des compilos modernes corrigent automatiquement cela. C'est un point positif comme negatif.
De plus, pour apporté une petite explication supplémentaire, lorsque tu accedes a une variable de cette maniere: *var, tu "dereferences" (mot important) la variable var pour acceder au contenu de l'adresse de sa valeur.
Lorsque tu utilises tab[0], c'est exactement la meme chose.
Cette notation permet de se passer de l'explication que je t'ai montré plus haut.
Par exemple, sur un tableau d'int:
Merci pour ton intervention... En fait message 11, concernant ton dernier paragraphe, je lui donne le même exemple. Cependant je crois que Shirocen a été trop vite dans son apprentissage C, il faudra qu'il prenne le temps d'enregistrer quelques notions, et surtout de bien les comprendre avant d'aller plus loin.
Commentaire