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