www.mikrocontroller.net

Forum: PC-Programmierung pointer


Autor: chrigi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hallo

habe eien pointer to const unsigned int und möchte ihn einer Funktion
als input geben, allerdings benötigt diese funktion pointer to unsigned
int.

kann ich diesen pointer irgendwie konvertieren?

gruss

Autor: Rufus Τ. Firefly (rufus) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Naja, das geht mit einem Typecast. Ist aber sehr unsauber, wenn nicht
gar ein potentieller Fehler.

  const unsigned int *p;

  void bla(unsigned int *ptr):


  bla((unsigned int *) p);

Das ist deshalb unsauber, weil so nicht sichergestellt ist, daß die
Funktion den Pointer nicht beschreibt.
Es gibt ja einen Grund dafür, daß der Pointer als 'const' deklariert
ist; und die Funktion verwendet vermutlich auch aus einem bestimmten
Grund kein 'const' - nämlich um darauf hinzuweisen, daß sie den
Pointer (resp. das, worauf er verweist) verändern kann/mag/will/wird.

Autor: Tobi H. (tobi-) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
oder im c++ stil: const_cast<unsigned int*>(p)

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.