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не имеют необычного выравнивания. - См. также:
© 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