Этот сайт использует cookies. Продолжение работы с сайтом означает, что Вы согласны!
Оператор sizeof и тип size_t
После объявления переменной под нее выделяется определенная память, размер которой зависит от используемого типа данных и разрядности операционной системы. Чтобы сделать код машинонезависимым следует определять размер типа с помощью оператора sizeof
. Оператор имеет два формата:
<Размер> = sizeof <Переменная>;
<Размер> = sizeof (<Тип данных>);
Пример:
int x = 10;
std::cout << sizeof x << std::endl; // 4
std::cout << sizeof(x) << std::endl; // 4
std::cout << sizeof(int) << std::endl; // 4
Обратите внимание на то, что тип данных обязательно должен быть указан внутри круглых скобок, в то время как название переменной можно указать как внутри скобок, так без них.
Оператор sizeof
возвращает значение типа size_t
. Объявление этого типа в разных компиляторах может быть разным. В проекте Test64
объявление выглядит следующим образом:
#define __int64 long long
typedef unsigned __int64 size_t;
При выводе значения с помощью функции printf()
можно воспользоваться спецификатором %zd
:
size_t size = sizeof(int);
std::cout << size << std::endl; // 4
std::printf("%zd\n", size); // 4
Помощь сайту
ЮMoney (Yandex-деньги): 410011140483022
ПАО Сбербанк:
Счет: 40817810855006152256
Реквизиты банка:
Наименование: СЕВЕРО-ЗАПАДНЫЙ БАНК ПАО СБЕРБАНК
Корреспондентский счет: 30101810500000000653
БИК: 044030653
КПП: 784243001
ОКПО: 09171401
ОКОНХ: 96130
Скриншот реквизитов