ADDR

ADDR returns the pointer value that identifies the generation of x.

Read syntax diagramSkip visual syntax diagramADDR( x)
x
Reference. It refers to a variable of any data type, data organization, alignment, and storage class except:
  • A subscripted reference to a variable that is an unaligned fixed-length bit string
  • A reference to a DEFINED or BASED variable or simple parameter, which is an unaligned fixed-length bit string
  • A minor structure or union whose first base element is an unaligned fixed-length bit string (except where it is also the first element of the containing major structure or union)
  • A major structure or union that has the DEFINED attribute or is a parameter, and that has an unaligned fixed-length bit string as its first element
  • A reference that is not to connected storage
If x is a reference to:
  • An aggregate parameter, it must have the CONNECTED attribute
  • An aggregate, the returned value identifies the first element
  • A component or cross section of an aggregate, the returned value takes into account subscripting and structure or union qualification
  • A VARYING string, the returned value identifies the 2-byte prefix
  • A VARYING4 string, the returned value identifies the 4-byte prefix
  • An area, the returned value identifies the control information
  • A controlled variable that is not allocated in the current program, the null pointer value is returned
  • A based variable, the result is the value of the pointer explicitly qualifying x (if it appears), or associated with x in its declaration (if it exists), or a null pointer
  • A parameter, and a dummy argument has been created, the returned value identifies the dummy argument