MALLOC — Allocate dynamic memory#
-
MALLOC(SIZE)#
MALLOC(SIZE)
allocatesSIZE
bytes of dynamic memory and returns the address of the allocated memory. TheMALLOC
intrinsic is an extension intended to be used with Cray pointers, and is provided in GNU Fortran to allow the user to compile legacy code. For new code using Fortran 95 pointers, the memory allocation intrinsic isALLOCATE
.- Parameters
SIZE – The type shall be
INTEGER
.- Returns
The return value is of type
INTEGER(K)
, withK
such that variables of typeINTEGER(K)
have the same size as C pointers (sizeof(void *)
).
- Standard:
GNU extension
- Class:
Function
- Syntax:
PTR = MALLOC(SIZE)
- Example:
The following example demonstrates the use of
MALLOC
andFREE
with Cray pointers.program test_malloc implicit none integer i real*8 x(*), z pointer(ptr_x,x) ptr_x = malloc(20*8) do i = 1, 20 x(i) = sqrt(1.0d0 / i) end do z = 0 do i = 1, 20 z = z + x(i) print *, z end do call free(ptr_x) end program test_malloc
- See also: