Größe des Zeichens ('a') in C / C ++
Wie groß sind die Zeichen in C und C ++? Soweit ich weiß, beträgt die Größe von char in C und C ++ jeweils 1 Byte.
#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;
}
Keine Überraschungen, beide ergeben die Ausgabe:Size of char : 1
Jetzt wissen wir, dass Zeichen als dargestellt werden'a'
,'b'
,'c'
,'|'
, ... Also habe ich gerade die obigen Codes geändert:
In 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
In 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
Warum zumsizeof('a')
gibt unterschiedliche Werte in C und C ++ zurück?