Das i*3 kommt daher, dass du 3 Einträge in einer Zeile hast.
Du kannst hingehen und sagen "das i. Element der n. Spalte ist [tabelle+n*BYTEPROZEILE+i]" oder aber "das i. Element der n. Spalte ist [tabelle+i*BYTEPROSPALTE+n]", je nachdem, ob du die Tabelle hoch oder quer legst. Entweder: Oder:
1 2 3 1 4 7
4 5 6 2 5 8
7 8 9 3 6 9
Was du im Speziellen einsetzt, hängt von deiner persönlichen Vorliebe ab; ich empfehle aber, konsistent zu bleiben. Beachte auch den Aufbau beim C-Compiler deines Vertrauens, damit sparst du dir später teure Konvertierungen, wenn du C und Assembler verbindest.
Gruß,
Sebastian