Option Base
Specifies a default lower bound for array declarations
Syntax
`
Option Base base_subscript
`
Parameters
`base_subscript`
an numeric literal value
Description
`Option Base` is a statement that sets the default lower bound for any following array declarations. This default remains in effect for the rest of the module in which `Option Base` is used, and can be overridden by declaring arrays with an explicit lower bound, or with another `Option Base` statement.
Note: initially, the default base is `0`.
Example
`
'' Compile with the "-lang qb" or "-lang fblite" compiler switches
#lang "fblite"
Dim foo(10) As Integer ' declares an array with indices 0-10
Option Base 5
Dim bar(15) As Integer ' declares an array with indices 5-15
Dim baz(0 To 4) As Integer ' declares an array with indices 0-4
`
Dialect Differences

- Only available in the -lang fblite and -lang qb dialects.
- In -lang fb, `Option Base` is not allowed, and the default lower bound is always `0`.

Differences from QB

- QBASIC only supported values of `0` or `1` for `base_subscript`.
- In QBASIC the word `Base` was a reserved keyword, and couldn't be used as a variable name.
- Arrays must always be explicitly created in FreeBASIC. QBASIC would implicitly create an array from `base_subscript` to `10` if one was used in code without being predefined.

See also

- `Dim`
- `ReDim`
- `LBound`