Размер символа ('a') в C / C ++
Каков размер символов в C и C ++? Насколько я знаю, размер символа составляет 1 байт в 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;
}
Не удивительно, они оба дают вывод:Size of char : 1
Теперь мы знаем, что символы представлены в виде'a'
,'b'
,'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
В 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
Почемуsizeof('a')
возвращает разные значения в C и C ++?