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