También se pueden declarar tablas de varios tipos y en cualquier sección (PUBLIC, PRIVATE). Para declarar una tabla debe indicarse el tipo (char, int, float, unsigned char, unsigned int, ...) el nombre, la longitud entre corchetes ((símbolos [ ])).
Nota: La longitud de la tabla se expresa como el valor máximo de su índice, es decir, todas las tablas van de la posición 0 a la posición indicada entre los corchetes menos 1. Por ejemplo, una tabla declarada como mi_tabla[9], será una tabla de longitud 9 (de 9 posiciones, desde mi_tabla[0] hasta mi_tabla[8]).
Varios ejemplos de declaración de tablas:
int Mitabla[4]; // Tabla int de 4 elementos (de Mitabla[0] a Mitabla[3]). int tab[5]={1,2,3,4,5}; // Tabla int de 5 elementos (de tab[0] a tab[4]). unsigned short tword[1]; // Tabla unsigned short de 2 elementos. unsigned char tbyte[4]={11,22,0,0}; // Tabla unsigned char de 4 elementos (inicializada a 11,22,0,0). char p[256]; // Cadena de texto de hasta 256 caracteres (inicializada a ""). char q[32] = {"hola"}; // Cadena de texto de hasta 33 caracteres (inicializada a "hola").
Consideraciones sobre las tablas:
1. Si se inicializa la tabla (con una lista de constantes), no se puede poner dicha inicialización en la sentencia PUBLIC, PRIVATE ya que estas no admiten inicialización.
2. Se debe poner un punto y coma tras cada declaración.
3. Siempre se debe definir la longitud de las tablas
4. Si no se define la lista de constantes, los elementos estarán inicializados a un valor indeterminado..
Se permite acceder al elemento 0 simplemente con el nombre de la tabla, como si fuera una variable; es decir, para el compilador mi_tabla[0] será lo mismo que *mi_tabla.
Las tablas multidimensionales.
Se pueden declarar tablas int, unsigned short, unsigned char,... de 1, 2, 3 o más dimensiones. Tanto la declaración de estas como el acceso a las mismas se debe hacer separando las dimensiones con corchetes.
Por ejemplo, la siguiente declaración:
unsigned short tabla[255][255];
Definiría tabla de tipo unsigned short (para todos sus elementos) de 2 dimensiones, con un total de 65536 elementos (256*256).
Ver: Sintaxis - Declaración de un dato