Шаг 19.
Операция sizeof

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

    Унарная операция sizeof возвращает размер своего операнда в байтах. Напомним, что в одном байте памяти "помещается" объект типа char. Операндом операции sizeof может быть любое выражение: sizeof(Выражение);.

    Результат операции sizeof имеет тип int.

    Пример. Получение размера объекта.

   #include <iostream.h>
   main ()
   {
      int a;
      char b;
      unsigned c;
      int *p;
      /* ----------------------------- */
      cout<<"sizeof(a)="<<sizeof(a)<<endl;
      cout<<"sizeof(b)="<<sizeof(b)<<endl;
      cout<<"sizeof(c)="<<sizeof(c)<<endl;
      cout<<"sizeof(p)="<<sizeof(p)<<endl;
      cout<<"sizeof(int)="<<sizeof(int)<<endl;
      cout<<"sizeof(int *)="<<sizeof(int *)<<endl;
   }
Текст этой программы можно взять здесь.

Результат работы программы:

   sizeof(a)=2
   sizeof(b)=1
   sizeof(c)=2
   sizeof(p)=4
   sizeof(int)=2
   sizeof(int *)=4


    Замечание. Учтите, что операция sizeof является машинозависимой!


    На следующем шаге мы поговорим о преобразовании типов.


Предыдущий шаг Содержание Следующий шаг