Next: , Previous: in, Up: Reference

### Inc

#### Synopsis

For ordinal types:

```     procedure Inc (var x: ordinal_type);
```

or

```     procedure Inc (var x: ordinal_type; Amount: and_integer_type);
```

For pointer types:

```     procedure Inc (var p: any_pointer_type);
```

or

```     procedure Inc (var p: any_pointer_type; Amount: and_integer_type);
```

#### Description

For ordinal types, inc increases the value of x by one or by amount if it is given.

If the argument p is pointing to a specified type (typed pointer), inc increases the address of p by the size of the type p is pointing to or by amount times that size respectively. If p is an untyped pointer (i.e. p is of type Pointer), p is increased by one.

#### Conforming to

Inc is a Borland Pascal extension. Yet application of Inc to pointers is defined in Borland Pascal. The combination of the second argument with application to pointers is a GNU Pascal extension.

#### Example

```     program IncDemo;
var
Foo: Integer;
Bar: array [1 .. 5] of Integer;
Baz: ^Integer;
begin
Foo := 4;
Inc (Foo, 5);      { yields 9 }
{\$X+}            { Turn on extended systax }
Baz := @Bar[1];   { Baz points to y[1] }
Inc (Baz, 2);      { Baz points to y[3] }
end.
```