Bonjour,
Après avoir cherché obstinément une réponse à ma question, je dois me résoudre à la poser dans ce forum étant donné qu'aucune ne m'a pleinement satisfait. Pour mieux vous faire comprendre, voici les deux bouts de codes qui ont suscité mes interrogations :
_______________
#include <stdio.h>
#include <stdlib.h>
int main()
{
int lettre = 'b';
printf("%c", lettre);
return 0;
}
________________
#include <stdio.h>
#include <stdlib.h>
int main()
{
char lettre = 98;
printf("%c", lettre);
return 0;
}
________________
Je crois qu'il est inutile de préciser que la compilation des deux codes donnent le même résultat, à savoir l'affichage du caractère 'b'. Cela vient sans doute du fait que le représentation binaire des deux variables est identique. Mais ce qui me turlupine, c'est de ne pas savoir pourquoi avoir crée deux variables alors que les deux remplissent dans tous mes exemples les mêmes fonctions.Je crois qu'elle réside dans la taille (1 octet pour char et de 2 à 4 octets pour int), et que son utilisation est un gage de lisibilité et d'économie, mais je ne suis pas sûr.
Je demande à tous les éclairés de bien vouloir me démystifier la différence de comportement de ces deux types, et si le cas se présente, me donner un exemple où leur remplacement est impossible. Merci !![]()
Partager