
Envoyé par
Obsidian
Hello,
Non, cela n'a rien à voir. Si on pense bien à la même chose, ça veut dire que si tu passes le nom d'un tableau quelque part, il sera bien résolu en son adresse et que, donc, tu vas bien écrire dans l'espace que tu as réservé en le déclarant. Si tu passes un pointeur à la place, c'est le contenu de ce pointeur qui sera évalué et qui, par défaut, est complètement indéfini tant que tu ne lui as pas affecté quelque chose. L'adresse effective peut alors renvoyer n'importe où, ce qui est d'autant plus vrai que tu n'as pas alloué d'espace.
Les chaînes de caractères constantes, quant à elles, sont les chaînes que tu spécifies directement dans le code, entre guillemets. Ça veut donc dire qu'elles doivent exister avant l'exécution et qu'elles se retrouvent dans le fichier exécutable. Au chargement de celui-ci, les pointeurs qui les référencent pointent donc « dans le code » et, aujourd'hui, dans un section distincte. Mais cette section reste très différente de la pile ou de la mémoire allouée dans le tas.
Partager