Hi,
Leider funktioniert dies jedoch nicht - list beginnt auch nach dem Aufruf von func() noch mit dem ersten Element. Irgendeine Idee woran das liegt?
natürlich beginnt func() immer mit dem Zeiger auf das erste Element, denn der ändert sich nicht, wie der Kollege schon schrieb. Um in einer Funktion einen Zeiger zu ändern, d.h. auf einen anderen Datenbereich zeigen zu lassen, musst Du der Funktion die Adresse des Zeigers übergeben, also einen Pointer-Pointer.
Ganz davon abgesehen würde ich dieses Vorgehen aber nicht empfehlen. Dein Programm hat ein Speicher-Leck, denn wo gibst Du den ganzen Speicher wieder frei, den Du bei jedem neuen Aufruf von list reservierst? Das ist ein no-go.
Die Frage ist, was bezweckst Du denn eigentlich mit dem Vorgehen? Warum definierst Du Dir nicht einfach einen Zeiger auf ein int, der zunächst auf das erste Listenelement zeigt und den Du dann jeweils weiter schiebst? Das hat genau den selben Effekt. Auf den Wert kannst Du auch ganz einfach zugreifen. Und nach der Verarbeitung kannst Du den Speicherbereich sauber wieder über den Zeiger auf den Buffer-Anfang freigeben (was Du ja schon tust).
Ciao, Stefanie