![]() |
![]() |
|
![]() |
![]() |
|
Programmierung Rat & Tat für Programmierer |
|
Themen-Optionen | Ansicht |
![]() |
#1 |
Inventar
![]() Registriert seit: 08.02.2000
Beiträge: 1.696
|
![]() Ich hab da ein kleines Problem:
Die Funktion insert sollte den Zeiger ptr_first so verändern können, dass auch in Main bekannt ist, wo dieser hinzeigt. Aber in der Funktion doit wird schon nur 0x00000000 zurückgegeben -> kann mir da wer helfen?!?! Danke!! ====================================== typedef struct _adresse { [...] struct _adresse *ptr_next; // Zeiger auf nächsten Datensatz }Adresse; int main() { [...] Adresse *ptr_first = NULL; // Zeiger auf das 1. Element [...] doit(taste, ptr_first); [...] } void doit(char taste, Adresse *ptr_first) { Adresse tmp; switch(taste) { [...] case 'e': case 'E': // Datensatz einlesen einlesen(&tmp); // Einlesen funzt insert(ptr_first, &tmp); // ptr_first ist immer NULL!!!! break; default: break; } } void insert(Adresse *ptr_first, Adresse *ptr_tmp) { // Einfügen in Liste (an richtiger Position!!) Adresse *ptr_neu; // Zeiger auf neuen Datensatz Adresse *ptr_akt = ptr_first; Adresse *ptr_old = ptr_first; ptr_neu = malloc(sizeof(Adresse)); // Speicher reservieren [...] // Zeiger verbiegen ptr_neu->ptr_next = NULL; ptr_first = ptr_neu; }
____________________________________
Sex is like hacking. You get in, you get out, and you hope you didnt leave something behind that can be traced back to you. |
![]() |
![]() |
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1) | |
|
|