zeiger auf mehrdimensionales array

Gast #36160
Lesenswert?
• ▲
▼
frage:

zwei arrays:
const int array1[][2]={
                                    {5,3},
                                    {3,7},
                                };

const int array2[][2]={
                                    {5,3},
                                    {3,7},
                                    {4,8},
                                };

jetzt möchte ich in einer Funktion einen Pointer haben der mir auf ein
Array zeigt, und mit Hilfe dessen ich auf einen Speicherzelle des
gewählten Arrays zugreifen kann

int funktion(unsigned char mode, unsigned char x, unsigned char y)
{
    int** Tabelle; --> so hätt i mir das gedacht, tut aber nicht...
    if(mode)
        Tabelle = &array1; --> da kommt der compilererror (das ich hier
kein '=' verwenden darf)
    else
        Tabelle = &array2;

    und da möcht i jetzt zum Beispiel einfach
   den wert von dem ausgewählten array und der speicherzelle x,y
zurückgeben
}
Gast #36161
Lesenswert?
• ▲
▼
Hallo,

wenn ich das richtig verstanden hab willst Du ner Funktion mode wert
übergeben und den x und y wert des Wertes den Du auslesen willst....


Erstmal was bringt "int **Tabelle;"?!
Hier muß stehen: int (*Tabelle)[2];
das ist dann ein Pointer auf ein [][2] zweidimensionales Array mit
mehreren Zeilen.

In den Funkionen erfolgt die zuweisung mit:
Tabelle=Array1; oder Tabelle=Array2; das "&" ist hier nicht nötig da
ich nicht der Inhalt der Arrays zugwiesen wird sondern nur dem Tabellen
Pointer der Pointer auf das Array.....
eigentlich ist hier überhaupt kein Pointer notwendig, da man auf
globale Arrays zugreift und den Wert per Funktion ausließt....
ich würde das für MCU's aber mit char arrays machden da ein char
nur pro Platzhalter im Array 8bit braucht ein int dagegen 16bit...

ich hab mal ein Programm geschrieben das die Arrayabfrage simuliert
wenn die couts cins durch printf ersetzt/gelöscht werden funktionieren
es auch in C bzw auf nem Controller.....

MfG
Rainer





Zweitens ein Array name wie Array
Angehängte Dateien:

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren