Tamaño del carácter ('a') en C / C ++
¿Cuál es el tamaño de los caracteres en C y C ++? Hasta donde yo sé, el tamaño de char es de 1 byte en C y 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;
}
Sin sorpresas, ambos dan la salida:Size of char : 1
Ahora sabemos que los personajes se representan como'a'
,'b'
,'c'
,'|'
, ... Así que acabo de modificar los códigos anteriores a estos:
Cía:
#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
Porqué elsizeof('a')
devuelve diferentes valores en C y C ++?