Übergeben einer zweidimensionalen Array-Referenz an eine Funktion in C
Sie versuchen, eine Referenz an ein zweidimensionales Array zu übergeben in C. Das Problem entsteht, weil Ihr Funktionsprototyp Syntaxfehler aufweist, insbesondere das „&“ vor „“. Dieser Fehler weist auf ein fehlendes Komma oder Auslassungszeichen vor dem „“ hin.
Um dies zu beheben:
void do_something(int (&array)[board_width][board_height]);
Dies deklariert Array als Referenz auf das zweidimensionale Array, sodass Sie auf und zugreifen können Ändern Sie seine Elemente direkt.
void do_something(int array[board_width][board_height]);
Dadurch wird jedoch ein Zeiger auf das erste Unterarray des zweidimensionalen Arrays übergeben. Der Compiler ignoriert die Dimension „board_width“, was möglicherweise nicht wünschenswert ist, wenn Sie direkten Zugriff auf alle Elemente benötigen.
Das obige ist der detaillierte Inhalt vonWie übergebe ich eine zweidimensionale Array-Referenz an eine Funktion in C?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!