Spec-Zone.ru › GNU Fortran 10

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

Spec-Zone.ru

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