pointer auf Adresse

Gast #5842453
Lesenswert?

Mahlzeit,
ich möchte mir werte von einem Adressbereich holen. Dazu habe ich eine 
Funktion, die die Adresse als Pointer haben möchte.
Für eine einzelne Adresse funktioniert das auch ganz gut.
1
for(counter=0; counter<length; counter++)
2
{
3
  memory_get_data(&buffer, &startAddress);
4
}

hier wird mir der wert, welcher in startAddress steht in buffer 
geschrieben.

1
for(counter=0; counter<length; counter++)
2
{
3
  memory_get_data(&buffer, &(startAddress+counter));
4
}
Das funktioniert aber nicht, da (startAddress+counter) ein ergebnis ist 
und keine Adresse mehr.

Wie kann man es am besten machen?
Moderator #5842575
Lesenswert?

Felix schrieb:
> for(counter=0; counter<length; counter++)
> {
>   memory_get_data(&buffer, &startAddress);
> }

Sind da nicht ein paar &-Zeichen zuviel?

Welchen Datentyp haben buffer und startAddress?

Und wie sieht die Funktion memory_get_data aus?

Davon hängt es ab, wie der Aufruf von memory_get_data tatsächlich
aussehen muss. Evtl. ist auch einfach
1
  memory_get_data(buffer, startAddress);
2
  memory_get_data(buffer, startAddress+counter);

der richtige Weg.
Gast #5842697
Lesenswert?

GEKU schrieb:
> memory_get_data(&buffer, &startAddress, block_size);

Sorry ich habe übersehen, das die Funktion memor_get_data vorgegeben 
ist.

Interessant wäre der Prototyp der Funktion.

Z. B.   void memory_get_data(char *pBuffer, int startAddress);

dann wäre Startaddress kein Zeiger, sondern ein Adresswert,  der kein & 
benötigt. Man könnte man counter ohne weiters dazuzählen, da counter 
ebenfalls vom Typ int ist.

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