Bonjour, pourriez-vous m'expliquer, quand on a un code comme celui-ci :
comme ptr est un pointeur de char logiquement ptr vaut 1 octet puisque c'est un char donc si je met l'adresse de caractere dans ptr logiquement le compilateur devrait m'envoyer un message d'erreur si l'adresse de caractère est supérieur à 255.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 char caractere = 'a'; char*ptr = NULL; ptr = &caractere;
Et pourtant ce n'est pas ce qui se passe, le programme s'exécute normalement il n'y a pas de message d'erreur et pourtant si je fait : printf("adresse ptr = %d", ptr); l'adresse de caractère est : 2271919.
La valeur de l'adresse est largement supérieur à 255 donc comment se fait-il que le compilateur n'affiche pas de message d'erreur.
Pourriez-vous m'expliquer ?
Merci par avance.
Partager