Данная операция позволяет определить размер объекта по ID или типу, результатом является размер памяти в байтах (тип результата int). Формат записи:
sizeof(параметр);
где: «параметр» – тип или идентификатор объекта (не ID функции).
Если указан идентификатор сложного объекта (массив, структура, объединение), то получаем размер всего сложного объекта. Например:
sizeof(int) ® размер памяти – 2 байта,
int b[5];
sizeof(b) ® размер памяти – 10 байт.
При переносе программы с одной платформы на другую нельзя делать предположений, например, о размере типа int, так как для оперативной системы (ОС) MS DOS этот тип имеет размер в два байта, а для ОС Windows 9X – четыре байта. В стандарте языка С поэтому диапазоны значений для основных типов не задаются, а определяются только соотношения между их размерами, например:
sizeof (float) < sizeof (double) < sizeof (long double) ,
sizeof (char) < sizeof (short) < sizeof (int) < sizeof (long) .