array in einem array
-
hi ich habe eine interessante Sache gesehen die ich aber nicht so ganz verstehe.
und zwar habe ichdouble dhisto[256];
PIXEL_GESAMT = 400000;
BYTE * puffer1 ;// Histogramm aufnehmen
for(li=0;li<=PIXEL_GESAMT;li++)
dhisto[puffer1[li]]++;Angenommen ich bekomme über puffer1 die Anfangsadresse meiner Pixel, die aus 1Byte als 256 grauwerten bestehen sollen (habe halt nur grauwerte), warum ist es durch dieses geschachtelte array möglich die Anzahl der einzelnen Grauwerte in dhisto hereinzubekommen. Es funktioniert zwar wunderbar aber mir ist nicht klar warum.
das Array im Array was ist das für das Array eigentlich eine Address oder ein Wert? die inkrementierung betrifft aufjedenfall nur das li im inneren Array.
-
Der Wert in puffer1[li], wird als Index für das andere Array verwendet und der
Wert der dort steht wird um 1 erhöht.
Wenn z.B.
in puffer1 die Felder 1-9 (als wert) steht, dann würde man mit puffer[0] den Wert
1 haben und als Index würde für dhisto 1 genommen und der Wert von diesem Element
wird um 1 erhöht (++)
-
Nimm ein 2 dimensionales array, hatt den gleichen effekt