¿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 unint
argumento (o algo que promuevaint
).sizeof
produce un resultado de tiposize_t
. Conviértase aint
usar un reparto o, si su implementación lo admite, use"%zu"
.