|  |  | |
|  |  | 
| 
 | |||||||
| Programmierung Rat & Tat für Programmierer | 
|  | Themen-Optionen | Ansicht | 
|  20.05.2001, 15:20 | #1 | 
| Inventar  Registriert seit: 08.02.2000 
					Beiträge: 1.696
				 |  Adressrückgabe in C 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) | |
| 
 | 
 |