Класс памяти

Синтаксис
< класс памяти >::= {auto | extern | static | register}

При описании переменной основного языка можно указать прекомпилятору встроенного SQL, какой тип памяти следует использовать для этой переменной. Назначение класса памяти должно соответствовать правилам используемого компилятора языка C/C++ (например, класс памяти auto можно задавать переменным, используемым только внутри некоторого блока операторов языка C/C++).

Прекомпилятор позволяет объявлять внешними (extern) строковые и битовые переменные с указанием или без указания размера массива. Например:

extern char protocol[15],
extern char msg[].

Рекомендуется всегда указывать размер массива, чтобы исключить выход за его границы. Например, если некоторая переменная объявлена как внешняя без указания размера массива в одном исходном модуле, а определена в другом, то прекомпилятор не знает ее реальную длину. Во время загрузки в эту переменную данных при выполнении select или fetch-запроса в первом модуле можем получить выход за границу массива. Если внешняя переменная объявлена без указания длины, прекомпилятор выдаст предупреждение.