# NULL

Transformational Intrinsic Function (Generic): Initializes a pointer as disassociated when it is declared.

result = NULL ([ mold])

mold | (Optional) Must be a pointer; it can be of any type. Its pointer association status can be associated, disassociated, or undefined. If its status is associated, the target does not have to be defined with a value.

## Results

The result type and kind are the same as mold, if present; otherwise, it is determined as follows:

If NULL ( ) Appears... | Type is Determined From...
--- | ---
On the right side of pointer assignment | The pointer on the left side
As initialization for an object in a declaration | The object
As default initialization for a component | The component
In a structure constructor | The corresponding component
As an actual argument | The corresponding dummy argument
In a DATA statement | The corresponding pointer object

The result is a pointer with disassociated association status.

### CAUTION

If you use module IFWIN or IFWINTY, you will have a name conflict if you use the NULL intrinsic. To avoid this problem, rename the integer parameter constant NULL to something else; for example:

       USE IFWIN, NULL0 => NULL

This example lets you use both NULL0 and NULL( ) in the same program unit with no conflict.

## Example

Consider the following:

      INTEGER, POINTER :: POINT1 => NULL( )

This statement defines the initial association status of POINT1 to be disassociated.

Parent topic: M to N