Habe ein Problem mit Hi-Tech C (3.09), aber vielleicht ist das gar nicht Hi-Tech spezifisch.
Ich habe eine Funktion und ein Hauptprogramm in einer C-Quelldatei (ich lasse mal unwichtiges weg und zeige nur den "Rumpf"):
01:#include "stdio.h"
02:
03:void funktion(char array[][][], int nummer) {
04: printf("array[%d][0][0] = %d\n", nummer, array[nummer][0][0]);
05:}
06:
07:int main() {
08: char feld[2][2][2];
09:
10: feld[1][0][0]=32;
11:
12: funktion(feld,1);
13:
14: return 0;
15:}
Der Compiler mag Zeile 4 und Zeile 12 nicht.
Wie definiere ich die Funktion ab Zeile 3, so dass ich in der Funktion selbst wieder auf das Array mit einem Index zugreifen kann ?
Arrays sind erstmal bei Übergabe nur Adressen. Irgendwie schnallt der Hi-Tech C Compiler das aber nicht.
Oder er kann keine mehrdimensionalen Felder übergeben.
Stehe irgendwie auf dem Schlauch momentan.