Определение размера sizeof в С++

Sizeof вычисляет размер объекта или типа в байтах, имеется две формы:
sizeof выражение
sizeof ( тип )
В качестве выражения может быть использован любой идентификатор, либо имя типа, заключенное в скобки. Отметим, что не может быть использовано имя типа void, а идентификатор не может относится к полю битов или быть именем функции.

Если в качестве выражения указанно имя массива, то результатом является размер всего массива (т.е. произведение числа элементов на длину типа), а не размер указателя, соответствующего идентификатору массива.

Пример:
#include  
int main(){ 
float X = 1; 
cout « "sizeof (float) :" « sizeof (float); 
cout « "\nsizeof X :" « sizeof x; 
cout « "\nsizeof (x + 1.0) :" « sizeof (x + 1.0);
return 0; 
}
Результат работы:
sizeof (float) :4 
sizeof X : 4 
sizeof (X + 1.0) : 8 
Комментарий. Последний результат - вещественные константы по умолчанию имеют тип doublе, к которому, как к более длинному, приводится тип переменной X и всего выражения. Скобки - чтобы выражение в скобках вычислялось раньше операции приведения типа, имеющей больший приоритет, чем сложение.

Когда sizeof применяются к имени типа структуры или объединения или к идентификатору имеющему тип структуры или объединения, то результатом является фактический размер структуры или объединения, который может включать участки памяти, используемые для выравнивания элементов структуры или объединения. Таким образом, этот результат может не соответствовать размеру, получаемому путем сложения размеров элементов структуры.

Оставить комментарий

Вы должны быть авторизованы , чтобы оставить или оценить комментарий.

Онлайн всего: 5
Гостей: 4
Пользователей: 1

STUDLAB Сообщить про опечатку на сайте