Forum: Mikrocontroller und Digitale Elektronik kann man den Inhalt eines Pointers ändern?


von bjk (Gast)


Lesenswert?

Hallo Leute,
kan man den iNhalt eines Pointers ändern und somit auch den inhalt auf
den der Pointer zeigt ändern also ich meine sowas z.B.

int *point
int r1 = 5;

point = &r1;
int r2 = *point;
// jetzt änder ich den inhalt von r2 auf 3
int r2=3;

jetz will ich den inhalt von r2 über pointer an r1 geben ohne das ich
die adresse von r1 verliere, also point auf 3 setzen und somit r1 auf 3
alte adresse bleibt erhalten.

hintergrund meiner Frage ist ich will auf ein spezielles register
zugreifen, mit einem pointer kann ich ja auf die adresse uigreifen und
somit auch den inhalt einsehen. Nun will ich den Inhalt diese registers
ändern.

Ist das möglich

gruss
bjk

von Wolf-Ruediger Juergens (Gast)


Lesenswert?

Klar geht das, *point = r2

Grüße
Wolf

von bjk (Gast)


Lesenswert?

klasse hat funktioniert danke, eine frage hätte ich aber noch wie kann
ich in C eine adresse laden z.B die adresse 0x40D350. Mit pointern kann
ich ja nur die adresse einer varibale laden kann ich auch direkt eine
adresse dem pointer zuweisen?

von OldBug (Gast)


Lesenswert?

Na aber sicher doch! Für solche "schweinereien" sind Pointer ja gerade
da! Aber Du solltest aufpassen, was Du da machst! In C gibt es keinen
Schutz vor falsch gesetzten Pointern!
Am besten liest Du Dir die Sache mal in nem guten C-Buch durch, am
besten eins, was auch gleich Beispiele mitbringt.

Antwort auf Deine Frage:
char *pChar;

void
bla(void)
{
  pChar = 0x40D350;

  /* irgendwas mit dem pointer veranstalten */
}

Gruß,
Patrick...

von bjk (Gast)


Lesenswert?

Danke für die Hilfe mal sehen ob es funzt.

Gruss
bjk

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.