[C] return - zeiger - Seite 4

Seite 4 von 4 - Forum: Coding Stuff auf overclockers.at

URL: https://www.overclockers.at/coding-stuff/c_return_zeiger_204643/page_4 - zur Vollversion wechseln!


semteX schrieb am 17.02.2009 um 00:31

Zitat von Luzandro
sondern? das mixed wird allerdings zu klein initialisiert


getchar liefert tatsächlich einen int zurück (iirc ist EOF ein int)
wird zeit fürs bett, hirn ist matsch. Beides selbstverständlich korrekt.


that schrieb am 17.02.2009 um 21:36

Zitat von Ringding
strtok verwendet einen statischen Puffer. Das würde also sogar funktionieren, außer in Multi-Thread-Situationen. Aber dafür gibt's ja strtok_r.

Wie groß sollte dieser Puffer deiner Meinung nach sein?
AFAIK hat das nur einen statischen *Pointer*, und es überschreibt den Originalstring.


that schrieb am 17.02.2009 um 21:42

Zitat von Luzandro
sondern? das mixed wird allerdings zu klein initialisiert

Ich würde eher sagen, es wird zu klein deklariert. :)


Vivo schrieb am 25.02.2009 um 00:28

Zitat von that
AFAIK hat das nur einen statischen *Pointer*...
Einen statischen Pointer ?! ... Der scheint mir doch eher ziemlich unstatisch :P


watchout schrieb am 25.02.2009 um 00:50

Zitat von Vivo
Einen statischen Pointer ?! ... Der scheint mir doch eher ziemlich unstatisch :P
Ich denke er meint einen Pointer der auf einen statischen Bereich im Speicher zeigt, der kann sich aber natürlich auch ändern.

Und selbst wenn da ein Buffer verwendet wird, ich kann doch nicht einfach einen Pointer auf einen Buffer zurückgeben - egal wie groß der ist, entweder die strtok Funktion hat ein Memory Leak (und das bezweifle ich stark) oder irgendwann wird dieser Buffer geleert oder überschrieben - byebye Daten!


Vivo schrieb am 25.02.2009 um 08:04

Ja ich weiß ... und was er gesagt hat war ja eigentlich auch richtig:
Alles was strtok speichert sind die delimiter und ein pointer auf den aktuellen char im String der gerade bearbeitet wird...

Darin wird bei jedem Aufruf ein weiterer delimiter durch '\0' ersetzt und der Pointer um einen Token weitergschoben ...


that schrieb am 25.02.2009 um 10:07

Zitat von watchout
Ich denke er meint einen Pointer der auf einen statischen Bereich im Speicher zeigt, der kann sich aber natürlich auch ändern.

Ich meine sowas:

static char* pToken;

Und der zeigt in den String, den man an strtok übergeben hat.


watchout schrieb am 25.02.2009 um 23:52

Aua... erfolgreich aneinander vorbei geschrieben...

Wie auch immer, das Buch-Beispiel bleibt auch damit falsch :p




overclockers.at v4.thecommunity
© all rights reserved by overclockers.at 2000-2025