Операция sizeof

Данная операция позволяет определить размер объекта по ID или типу, результатом является размер памяти в байтах (тип результата int). Формат записи:

sizeof(параметр);

где: «параметр» – тип или идентификатор объекта (не ID функции).

Если указан идентификатор сложного объекта (массив, структура, объединение), то получаем размер всего сложного объекта. Например:

sizeof(int) ® размер памяти – 2 байта,

int b[5];

sizeof(b) ® размер памяти – 10 байт.

Одно из полезных применений операции sizeof – определение реального количества элементов массива с объявленной размерностью:

char s[256];

int kol = sizeof(s)/sizeof(*s); // количество элементов массива s

Наиболее часто операция sizeof применяется при динамическом распре­де­ле­нии памяти:

float *x; // Указатель массива

int n; // Количество элементов массива

x=calloc(n,sizeof(*x)); // Захват и очистка памяти