Учись программированию на C++ Builder бесплатно!

Операция sizeof определяет размер в байтах своего операнда - переменной, объекта, типа. Возвращаемый результат имеет тип size_t (unsigned).

Операция имеет две формы:

sizeof выражение
sizeof (имя_типа)

Например:

sizeof *Label1;
sizeof (TLabel);
sizeof a;
sizeof (int);

Во всех случаях операция возвращает целое, равное числу байтов в объекте (*Label1), типе (TLabel, int), переменной (а).

Надо учесть, что размер переменной, объекта, типа может изменяться в зависимости от машины и от используемой версии программного обеспечения. Поэтому во всех случаях, когда вам требуется знать размер объекта или типа, нельзя полагаться на документацию, а надо использовать операцию sizeof.

Если операндом является выражение, то sizeof возвращает суммарный объем памяти, занимаемый всеми переменными и константами, входящими в него. Если операндом является массив, то возвращается объем памяти, занимаемый всеми элементами массива (т.е. имя массива не воспринимается в данном случае как указатель). Число элементов в массиве можно определить выражением sizeof array/sizeof аrrау[0].

Если операндом является параметр, объявленный как тип массива или функции, то возвращается размер только указателя. К функциям операция sizeof не применима.

Если операция sizeof применяется к структуре или объединению, она возвращает общий объем памяти, включая все наполнение этого объекта.

Поделиться