description

# address property

Pointer<Int32> get address

The memory address of the underlying data.

An expression of the form `expression.address` denoting this `address` can only occurr as an entire argument expression in the invocation of a leaf Native external function.

Example:

    @Native<Void Function(Pointer<Int32>)>(isLeaf: true)
    external void myFunction(Pointer<Int32> pointer);

    void main() {
      final list = Int32List(10);
      myFunction(list.address);
    }

The expression before `.address` is evaluated like the left-hand-side of an assignment, to something that gives access to the storage behind the expression, which can be used both for reading and writing. The `.address` then gives a native pointer to that storage.

The `.address` is evaluated just before calling into native code when invoking a leaf Native external function. This ensures the Dart garbage collector will not move the object that the address points in to.

## Implementation

    external Pointer<Int32> get address;