Spec-Zone.ru › GNU Fortran 6

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

Spec-Zone.ru

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