6
Duplicar posibles:
Why are C character literals ints instead of chars?tamaño de tipo char en C
gente,
Probé para imprimir el tamaño de Char en C. Con el siguiente código, Obtuve el resultado como
int, 4
char, 1
char?, 4
¿Por qué el último no es el mismo que el segundo? Gracias.
#include <stdio.h>
main()
{
int a = 2;
char b = '2';
printf("int, %d\n",sizeof(a));
printf("char, %d\n",sizeof(b));
printf("char?, %d\n",sizeof('a'));
}
http://stackoverflow.com/questions/433895/why-are-c-character-literals-ints-instead -de-caracteres. A la luz de esto, voy a votar para cerrar (aunque no es una mala pregunta) –
La discusión sobre este tema se ha planteado antes: http://stackoverflow.com/questions/433895/why-are-c-character-literals -ints-instead-of-chars –
Tenga en cuenta que 'sizeof (char)' es 1, por definición --- 'sizeof()' devuelve valores en unidades de caracteres. ¡Lo cual no es lo mismo que bytes! AFAICT no hay forma de obtener el tamaño de una estructura en _bytes_ sin conocimiento de la plataforma (es decir, cuántos bytes hay en un char). –