Forum: Compiler & IDEs Zeiger auf Array....


von Hochpass (Gast)


Lesenswert?

Hi
Hab da mal ein Problem.
Es geht um die Realisirung eines FIFOs der in Speicher an einer
bestimmten Stelle liegen muss.
/********************************/
typedef struct
{
  unsigned long hans;
  unsigned long wurst;
} queue;

queue *p;
p=(queue *)=0x70000000;
p->hans=0xabc;
/********************************/
Dieses funktioniert soweit. Ich brauche jetzt an der Stelle nicht ein
Element sonder ein Array.

Mir fehlt gerade der Kaffee.
:-(

von Hochpass (Gast)


Lesenswert?

/********************************/
typedef struct
{
  unsigned long hans;
  unsigned long wurst;
} queue;

queue *p;
p=(queue *)0x70000000;      //<-----------------
p->hans=0xabc;
/********************************/

so meinte ich das natürlich

von Karl H. (kbuchegg)


Lesenswert?

> Dieses funktioniert soweit. Ich brauche jetzt an der Stelle nicht
> ein Element sonder ein Array.

Geh ich richtig in der Annahme, dass der Speicher an dieser
Stelle irgendwo anders her kommt?

Na ja, wenn dort ein Array liegt. dann benutz
es halt wie ein Array

p[0].hans = 0xabc;
p[1].hans = 0x0123;
p[2].wurst = 20;

Das ist einer der Fälle wo der Array-Pointer Zusammenhang und
die damit verbundene Syntaxangleichung für dich arbeitet.

von Hochpass (Gast)


Lesenswert?

Der Speicher liegt in einem Adressraum von 32Bit irgendwo in der Mitte.

Ist ein Controller auf einem FPGA.

Hast aber Recht. Das funktioniert so.
Vielen Dank.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.