Quelle est la taille de caractère en C et C++ ? Autant que je sache, la taille du char est de 1 octet à la fois le C et le C++.
#include <stdio.h>
int main(){
printf("Size of char : %d\n",sizeof(char));
return 0;
}
#include <iostream>
int main(){
std::cout<<"Size of char : "<<sizeof(char)<<"\n";
return 0;
}
Pas de surprises, les deux d'entre eux donne de la sortie : Size of char : 1
Nous savons maintenant que les personnages sont représentés en tant que 'a'
,'b'
,'c'
,'|'
, Donc... j'ai juste modifié les codes ci-dessus:
En C :
#include <stdio.h>
int main(){
char a = 'a';
printf("Size of char : %d\n",sizeof(a));
printf("Size of char : %d\n",sizeof('a'));
return 0;
}
Size of char : 1
Size of char : 4
En C++ :
#include <iostream>
int main(){
char a = 'a';
std::cout<<"Size of char : "<<sizeof(a)<<"\n";
std::cout<<"Size of char : "<<sizeof('a')<<"\n";
return 0;
}
Size of char : 1
Size of char : 1
Donc ma question est : pourquoi la sizeof ("a") renvoie des valeurs différentes en C et C++ ?