Array über UART ausgeben (C18)

Gast
Pointer sind böse :D

Wenn man den Pointer beim Lesen immer schön weiter inkrementiert, ohne 
darauf zu achten, wo die Daten liegen erhält man im besten Fall einfach 
nur Datensalat.
Beim Schreiben kann es gut passieren, das man ohne Vorsichtsmassnahmen 
andere Daten überschreibt.

Natürlich kann man gerade auf µC's schön Speicherplatz sparen, wenn man 
anstatt Variablen zu definieren und Daten von einer in die andere 
kopiert einen Pointer verwendet. Aber das sollte dann schon soweit 
durchdacht sein, das es zu keinen Irrtümern kommen kann.

Frank
Gast
> einache Erklärung in dem Gebiet?
ja, hier:
char feld[]={0x13,0x14,0x15}

wenn ich jetzt folgendes mache:
*variable = &feld;
dann steht in variable die adresse der speicherzelle, an der das array 
feld beginnt.
lese ich variable aus, bekomme ich 0x13
lese ich variable+1 aus, bekomme ich 0x14.

ein string ist nichts anderes als ein solches array, das auf \0 endet.
wenn ich danach prüfe, laufe ich mit dem pointer nirgens hin, wo ich 
nicht hingehöre.

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 17 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.