Spec-Zone.ru › GNU Fortran 12

8.253 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-12.1.0/gfortran/SIZEOF.html

Spec-Zone.ru

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