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