#pragma udata menm_tabla
usigned char tabla[100][12];
#pragma udata
void main(void)
{
.......
unsigned char *puntero;
puntero=&tabla[0];
puntero[10][6]=0x00;// esto si que se puede hacer con arrays unidimensionales no??? a mi por lo menos no me da errores pero con esto me da el siguiente error.
Error [1129] [] operator requires a pointer and an integer as operands
Estas en un error.
Tu variable
puntero solo puede ser usado como un puntero char, no como un array. El que es un vector o array es 'tabla'.
Puedes hacer tabla[100][6] = 0x00 , pero hacer eso con puntero sencillamente no tiene sentido.
No recuerdo bien, como ordena en memoria el C los arrays bidimensionales. Por lo cual el dato al que quieres apuntar estaría en la Fila 10, Columna 6 ó bien Fila 6, Columna 10.
*puntero = (12*6)+6; ó bien
*puntero = 10 + (100*6) El puntero saltará "char" veces, hasta ubicarse en el lugar indicado.
Para el puntero, la matriz son 100*12 = 1200 bytes consecutivos, no los toma como un array en la forma que tu lo quieres codificar.
Espero haber sido claro
Saludos