Zitat von
Virchov:
Code:
void GetRGB(
RGBTRIPLE* prgb, //Pointer to the pixel
BYTE *R, BYTE *G, BYTE *B) //Output: R, G and B
{
*R=prgb->rgbtRed;
*G=prgb->rgbtGreen;
*B=prgb->rgbtBlue;
}
t *p bedeutet, dass der Parameter p per Referenz (Adresse) an die Funktion übergeben wird (const/var/out p).
*p dereferenziert p und zeigt somit auf den Inhalt von p (p^).
p->v dereferenziert den Struktur-Zeiger p und gibt v zurück (p.val);
Die ganzen De-/Referenzierungen kann man in der Delphi Language einfacher haben:
Delphi-Quellcode:
procedure GetRGB(
const RGB: TRGBTriple;
out R, G, B: Byte);
begin
R :=
RGB.rgbtRed;
G :=
RGB.rgbtGreen;
B :=
RGB.rgbtBlue;
end;