Einzelnen Beitrag anzeigen

Benutzerbild von glkgereon
glkgereon

Registriert seit: 16. Mär 2004
2.287 Beiträge
 
#9

Re: Schiebeoperationen

  Alt 18. Feb 2006, 16:16
was sind unions?

gibt es nicht sowas wie packed records?
ich hab länger nichts mehr mit C gemacht, aber die Idee mal in Delphi:

Delphi-Quellcode:
TIP = packed record
  I1, I2, I3, I4: Byte;
  end;
PIP = @TIP; //Pointer auf TIP(?)
PInt = @LongInt; //Pointer auf LongInt(?)

procedure IP2Int;
var IP: PIP;
    I: PInt;
begin
  I:=PIP;
end;

procedure Int2IP;
var IP: PIP;
    I: PInt;
begin
  I:=PIP;
end;
oder so:

Delphi-Quellcode:
var
  P: Pointer
  IP: TIP; I: LongInt;
begin
  P:=@I;
  IP:=^P;
//und umkehrt....
{ Prinzip:
  Mach Pointer auf Quelle (egal welche)
  nimm Pointer und dereferenziere ihn in das Ziel rein...
}
  
end;
und noch eine

es gibt in C doch eine funktion die Memory kopiert, oder?

MemCP(@IP, @I, 4); o.ä....
»Unlösbare Probleme sind in der Regel schwierig...«
  Mit Zitat antworten Zitat