Який розмір символів у С та С ++? Наскільки я знаю, розмір char становить 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 ++?
"%|"
Формат вимагаєint
аргументу (або що - то , що сприяєint
).sizeof
дає результат типуsize_t
. Або перетворите наint
використання ролі, або, якщо ваша реалізація підтримує його, використовуйте"%zu"
.