Visible to Intel only — GUID: GUID-A49D37C3-E52A-4170-8D7C-1EF9FDDB4678
Visible to Intel only — GUID: GUID-A49D37C3-E52A-4170-8D7C-1EF9FDDB4678
C_LOC
Intrinsic Module Inquiry function (Generic): Returns the C address of an argument.
Module
USE, INTRINSIC :: ISO_C_BINDING
Syntax
result = C_LOC(x)
x |
(Input) Is a non-coindexed variable that has the TARGET attribute. It must have interoperable type and type parameters, and it must be a non-polymorphic variable with no length type parameters, or an assumed-type variable. If it is an array, it must be contiguous with non-zero size. It cannot be a zero-length string. If it is a pointer, it must be associated. If it has the ALLOCATABLE attribute, it must be allocated. |
Results
The result is a scalar of derived type C_PTR. The result value represents the C address of the argument.
The result is a value that can be used as an actual CPTR argument in a call to procedure C_F_POINTER where fptr has attributes that allow the pointer assignment fptr=>x. Such a call to C_F_POINTER has the effect of the pointer assignment fptr=>x.
If x is a scalar, the result is determined as if C_PTR were a derived type containing a scalar pointer component PX of the type and type parameters of x and the pointer assignment CPTR%PX=>x were executed.
If x is an array, the result is determined as if C_PTR were a derived type containing a scalar pointer component PX of the type and type parameters of x and the pointer assignment CPTR%PX to the first element of x were executed.