www.mikrocontroller.net

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


Autor: bjk (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Wolf-Ruediger Juergens (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Klar geht das, *point = r2

Grüße
Wolf

Autor: bjk (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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?

Autor: OldBug (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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...

Autor: bjk (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Danke für die Hilfe mal sehen ob es funzt.

Gruss
bjk

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.