Node: const, Next: constructor, Previous: Conjugate, Up: Reference

### const

(Under construction.)

#### Synopsis

#### Description

Constant declaration or constant parameter declaration.

#### Conforming to

`const` is defined in ISO 7185 Pascal and supported by all known Pascal variants. `const` parameters are a Borland Pascal extension. Pointers to `const` are a GNU Pascal extension.

Constant declarations allow you to define names for constant (unchanging) values, such as using `SecondsPerHour` instead of 3600. This can make your program much more readable and maintainable.

GNU Pascal allows you to define constant strings, records and arrays as well as simple numeric constants.

GNU Pascal also implements the const parameter extension which allows the compiler to pass parameters by reference while still allowing you to pass constant values as inputs. See Subroutine Parameter List Declaration for more information.

@@ Pointers to `const` @@

#### Example

         program ConstDemo;

         type
           Rec = record
             x: Integer;
             y: Integer;
           end;

         const
           a = 5;
           constr: Rec = (10, 12);

         procedure doit (const r: Rec; const s: String);
         begin
           WriteLn (r.x);
           WriteLn (r.y);
           WriteLn (s);
         end;

         var
           variabler: Rec;

         begin
           variabler.x := 16;
           variabler.y := 7;
           doit (variabler, 'Should be 16 and 7');
           doit (constr, 'Should be 10 and 12');
         end.

#### See also

Keywords, var, protected, Subroutine Parameter List Declaration.