¿Cuál es el tamaño del carácter en C y C++? Por lo que yo sé, el tamaño de char es de 1 byte tanto en C como en C++.Tamaño del carácter ('a') en C/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, tanto de ellos da 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:
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
Por qué los sizeof('a')
devuelve valores diferentes en C y C++?
El ' "% |"' 'formato requiere un argumento int' (o algo que promueve a 'int'). 'sizeof' produce un resultado de tipo' size_t'. Puede convertir a 'int' utilizando un molde o, si su implementación lo admite, use' "% zu" '. –