Поделиться через


оператор sizeof (c#)

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

sizeof unary-expression
sizeof ( type-name )

Заметки

Операнд любой идентификатор, a унарн-выражениеили выражение предоставление подходящую роль (то есть описатель типа, заключенный в круглые скобки).унарн-выражение не может представлять объект бит-поля, неполный тип или указателя функции.Результат unsigned объединенную константой.Стандартный заголовок STDDEF.H определяет этот тип как size_t.

При применении sizeof оператор на идентификатор массива, результат размер всего массива, а не размер указателя, представленное идентификатором массива.

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

Если неклееный массив структур, то последний элемент sizeof оператор возвращает размер структуры без массива.

buffer = calloc(100, sizeof (int) );

Этот пример использует sizeof оператор для передачи размера int, который изменяется между компьютеров, в качестве аргумента в функцию среды выполнения с именем calloc.Значение, возвращаемое функцией хранится внутри buffer.

static char *strings[] ={
          "this is string one",
          "this is string two",
          "this is string three",
         };
const int string_no = ( sizeof strings ) / ( sizeof strings[0] ); 

В этом примере strings массив указателей на char.Число указателей количество элементов в массиве, но не указано.Легко определить число указателей с помощью sizeof оператор, чтобы вычислить количество элементов в массиве.Const целое число string_no инициализирует к этому числу.Поскольку это a Const значение string_no не может быть изменено.

См. также

Ссылки

Операторы C++