Wie groß ist das Zeichen in C und C ++? Soweit ich weiß, beträgt die Größe von char sowohl in C als auch in C ++ 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 geben die Ausgabe: Size of char : 1
Jetzt wissen wir , dass Zeichen dargestellt werden als 'a'
, 'b'
, 'c'
, '|'
, ... Also ich nur die oben genannten Codes auf diese 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 gibt das sizeof('a')
in C und C ++ unterschiedliche Werte zurück?
"%|"
Format erfordert einint
Argument (oder etwas, das dazu wirbtint
).sizeof
ergibt ein Ergebnis vom Typsize_t
. Konvertieren Sie entweder inint
eine Besetzung oder verwenden Sie, wenn Ihre Implementierung dies unterstützt"%zu"
.