Spec-Zone.ru › GNU Fortran 11

9.254 SIZEOF — Размер в байтах выражения

Описание:

SIZEOF(X) вычисляет количество байт памяти, занимаемой выражением X.

Стандарт:

Расширение GNU

Класс:

Функция запроса

Синтаксис:

N = SIZEOF(X)

Аргументы:
X Аргумент может быть любого типа, ранга или формы.
Возвращаемое значение:

Возвращаемое значение имеет целочисленный тип и тип C_SIZE_T (из модуля ISO_C_BINDING), зависящий от системы. Его значение — количество байт, занимаемых аргументом. Если у аргумента есть атрибут POINTER, возвращается количество байт области памяти, на которую он указывает. Если аргумент — производного типа с компонентами POINTER или ALLOCATABLE, возвращаемое значение не учитывает размер данных, на которые указывают эти компоненты. Если аргумент полиморфный, возвращается размер в соответствии с динамическим типом. Аргументом не может быть процедура или указатель на процедуру. Обратите внимание, что код предполагает для массивов, что они непрерывны; для непрерывных массивов он возвращает занимаемую память или размер элемента массива, умноженный на размер массива.

Пример:
integer :: i
real :: r, s(5)
print *, (sizeof(s)/sizeof(r) == 5)
end

Пример выведет .TRUE., если только на вашей платформе переменные по умолчанию REAL не имеют необычного выравнивания.

См. также:

C_SIZEOF, STORAGE_SIZE

© Free Software Foundation
Licensed under the GNU Free Documentation License, Version 1.3.
https://gcc.gnu.org/onlinedocs/gcc-11.1.0/gfortran/SIZEOF.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API