Bonjour, je suis un peu perdu alors je viens chercher de l'aide ici,
voila pour faire cour, je n'ai pas le même résultat pour ces deux codes ci, alors qu'il me semble qu'il sont identique(dans leur résultat final)
premier code
deuxième code
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 unsigned char c=*lireChar(desc); print_bin(c,8);
la fonction lireChar(int desc) renvoie un unsigned char* non NULL, dans notre cas précis il vaudra (int) c=3
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 unsigned char* c=lireChar(desc); print_bin(*c,8);
pour le premier code le résultat est bien 0000 0011
pour le deuxième code j'obtiens 0000 0000
pourtant il me semblais que pour les deux codes différents, le premier paramètre envoyé a ma fonction print_bin étais EXACTEMENT la même....
En quoi sont-elles différents? que ce passe t-il pour le deuxieme code?
a l’intérieur de ma fonction lireChar, le resultat est bon c'est au moment de l’insérer dans *c qu'il se modifie... Je pensais pourtant que le comportement poiteur adresse était le même que pour le code C, ors le C++ semble possédé des nuances... capricieuse. Qu'elle est le problème dans cette situation? Que se passe t-il?
Partager