- Labornetzteil AliExpress         
Ergebnis 1 bis 10 von 52

Thema: Char - Array und Pointer

Baum-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #11
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    18.03.2018
    Beiträge
    2.645
    Ich habe jetzt folgendes ausprobiert:

    Das ursprüngliche Char-Array mit strtok() bearbeitet.
    Die zurückgegebenen Pointer gespeichert.
    Das ursprüngliche Char-Array mit einem andern String überschrieben und die gespeicherten Pointer von strtok() zur Ausgabe verwendet.

    Jetzt stellt sich das so dar:

    Es wird kein zusätzlicher Speicher durch strtok() reserviert, um die Teilzeichenketten woanders zu speichern.
    strtok() fügt an den Trennzeichen der Tokens offenbar ein Endezeichen (0) ein, also werden dann die Trennzeichen überschrieben mit 0. Der ursprüngliche Inhalt des Char-Array wird also überschrieben.
    Wenn nun mittels Serial.println(xxx[index]); die Teilzeichenketten ausgegeben werden, funktioniert das mit dem ursprüngliche Char-Array, bearbeitet von strtok(), wie erwartet.
    Wenn das Char-Array überschrieben wurde, werden trotzdem (aufgrund der Pointer in das Array) Teilzeichenketten ausgegeben und zwar jeweils von der Position, die durch den Pointer im Array bestimmt ist, bis zum Ende des Char-Arrays (bzw. bis ein Endezeichen - vermutlich 0 - auftritt).

    Die Pointer von strtok() zeigen in das Char-Array, das von strtok() bearbeitet wurde.
    Ist daher mit den Zeigern eine sparsame Methode und durchaus nicht unpraktisch, solange das Char-Array nicht erneut überschrieben wird, bevor die Tokens alle verarbeitet sind. Was ansich auch eine Falle beim Programmieren sein und zu unerwarteten Ergebnissen führen kann.
    Geändert von Moppi (28.10.2019 um 16:18 Uhr)

Ähnliche Themen

  1. Pointer auf Struct von Byte-Array
    Von Bumbum im Forum C - Programmierung (GCC u.a.)
    Antworten: 2
    Letzter Beitrag: 31.05.2013, 16:01
  2. Char mit array verbinden ?
    Von AsuroPhilip im Forum Software, Algorithmen und KI
    Antworten: 22
    Letzter Beitrag: 08.09.2011, 13:37
  3. gelöst : Frage zu C und 2 Dim char Array
    Von jar im Forum C - Programmierung (GCC u.a.)
    Antworten: 4
    Letzter Beitrag: 29.05.2007, 16:53
  4. zweidemensionales char-array
    Von p_mork im Forum C - Programmierung (GCC u.a.)
    Antworten: 1
    Letzter Beitrag: 15.03.2007, 16:54
  5. Cstring einem char array zuweisen
    Von ceekay im Forum Software, Algorithmen und KI
    Antworten: 8
    Letzter Beitrag: 17.04.2006, 10:20

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

Labornetzteil AliExpress