Pointer -> 2Dim-Array

Gast #2187401
Lesenswert?

Hi,
ich hänge an folgendem Problem fest:
Ich hab ein globales
RGBTRIPLE *pixel24array;
Das benutze ich erst um es in Form von pixel24array[i].rgbtBlue=...
zu befüllen (also als 1Dim-Array).

In einer anderen Funktion will ich es aber wie ein 2Dim-Array verwenden 
können. Also pixel24arry[x][y].rgbtBlue=... Die Indexgrenzen sind 
bekannt und ich hab schon versucht einen Pointer auf ein 2Dim-Array zu 
erstellen und ihm die Adresse von pixel24array zu geben:
RGBTRIPLE (*abc)[height][width];
    abc=pixel24array;
Das kann aber anscheinend nicht umgewandelt werden.
Auch mit casts gings nicht:
RGBTRIPLE (*abc)[height][width];
    abc=(RGBTRIPLE*)pixel24array;
Und auch nicht wenn ich sage, dass es ein Pointer auf ein 1Dim-Array 
ist, den man ja wie ein 2Dim-Array verwenden könnte, da es nur darauf 
ankommt die Zeilenlänge zu kennen und es dann egal wäre wieviele Spalten 
noch kommen:
RGBTRIPLE (*abc)[width];
    abc=(RGBTRIPLE*)pixel24array;

Auf jeden Fall will ich kein neues 2Dim-Array erstellen (Speicherplatz) 
sondern nur einen Pointer darauf.
Gast #2187443
Lesenswert?

^^Ja das hab ich sogar erst so gemacht:
Hatte immer array[ywert*width+xwert] drin stehen, aber (es ist eine 
Schulaufgabe) der Lehrer meinte, dass dafür definitiv ein 2Dim-Array 
verwendet werden soll. Und ehrlich gesagt war mir das auch schon langsam 
zu unübersichtlich geworden.

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