¿Cuál es el tamaño de los caracteres en C y C ++? Hasta donde 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 son representados como 'a', 'b', 'c', '|', ... Así que acaba de modificar los códigos anteriores a éstos:
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
¿Por qué sizeof('a')devuelve diferentes valores en C y C ++?
"%|"formato requiere unintargumento (o algo que promuevaint).sizeofproduce un resultado de tiposize_t. Conviértase aintusar un reparto o, si su implementación lo admite, use"%zu".