Spec-Zone.ru › GNU Fortran 10

9.57 C_SIZEOF — Размер выражения в байтах

Описание:

C_SIZEOF(X) вычисляет количество байтов памяти, занимаемой выражением X.

Стандарт:

Fortran 2008

Класс:

Функция запроса модуля ISO_C_BINDING

Синтаксис:

N = C_SIZEOF(X)

Аргументы:
X Аргумент должен быть совместимым с другими типами данных объектом.
Возвращаемое значение:

Возвращаемое значение имеет тип integer и системно-зависимый тип C_SIZE_T (из модуля ISO_C_BINDING). Его значение равно количеству байтов, занимаемых аргументом. Если аргумент имеет атрибут POINTER, возвращается количество байтов области памяти, на которую он указывает. Если аргумент имеет тип с производными типами с компонентами POINTER или ALLOCATABLE, возвращаемое значение не учитывает размеры данных, на которые указывают эти компоненты.

Пример:
use iso_c_binding
integer(c_int) :: i
real(c_float) :: r, s(5)
print *, (c_sizeof(s)/c_sizeof(r) == 5)
end

Пример выведет T, если только ваша платформа не использует нестандартное выравнивание для переменных по умолчанию.

См. также:

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/C_005fSIZEOF.html

Spec-Zone.ru

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