Un petit exemple sera sûrement plus clair.
Je tente -volontairement- d'écrire une chaîne de caractères dans un tableau. Le compilateur râle mais le programme s'exécute.
Je ne comprends pas d'où sortent les valeurs de tab[3] et de tab[4] : ce n'est pas une adresse mémoire convertie en décimal ni une tentative de lecture sur 4 octets des codes ASCII des 4 premiers caractères.
Le résultat est-il aléatoire ?
J'ai toutefois remarqué qu'il y a bien un décalage de 7 entre tab[3] et tab[4] ce qui correspond(rait ?) au nombres de caractères de "coucou" + le \0. Si je change de chaîne, cela fonctionne aussi par rapport au nombre de lettres. Donc j'imagine bien une histoire d'adresse mémoire ?
Partager