Autor | Nachricht |
---|---|
Beobachter Anmeldedatum: 02.06.2022 Beiträge: 2 | zitieren Kann mir jemand sagen wo der Fehler in diesem Code liegt und wie ich diesen lösen kann. Freu mich auf jede Hilfe. ![]() [code]#include <stdio.h> typedef struct numberItem { int value; struct numberItem* next; } numberItem; void appendNumberItem(numberItem** start, int value) { numberItem* neu = (numberItem*)malloc(sizeof(numberItem)); if (neu == NULL) { } neu->value = value; if (*start == NULL) { neu->next = NULL; start = neu; } else { numberItem ptr = start; while (ptr->next != NULL) { ptr = ptr->next; } ptr->next = neu; neu->next = NULL; return &ptr; } } int main() { numberItem root = NULL; appendNumberItem(&root, 42); appendNumberItem(&root, 1); appendNumberItem(&root, 2); appendNumberItem(&root, 3); return 0; } ![]() ![]() Screenshot (45).png - [Bild vergrößern] |
▲ | pn |
Trainee ![]() Name: Mirko Geschlecht: ![]() Anmeldedatum: 06.12.2019 Beiträge: 46 Wohnort: Weingarten | zitieren Hi Ropeck, kann es sein, dass Du mit folgender Lektüre lernst? Verkette Listen in C Alleine die Tatsache, dass Du aus einer void-Funktion eine Adresse zurückgeben möchtest zeigt, dass Du das Thema noch nicht richtig verinnerlicht hast. Das ist wirklich nicht böse gemeint. Breche deinen Code noch einmal etwas herunter und schau Dir das Thema Zeiger noch einmal genau an bevor Du dich an verkette Listen machst. Außerdem solltest Du nicht andere danach fragen, wo der Fehler liegt. Du lernst mehr, wenn Du es selber herausfindest. Deinem Code zurfolge jedoch, fehlt Dir einfach noch das I-Tüpfelchen beim Thema zeiger. Also viel Spaß dabei. Wobei ich davon überzeugt bin, dass Du dir bereits in anderen Foren hast längst helfen lassen. Auch gut... ![]() Grüße und schöne Pfingstfeiertage. |
▲ | pn |
Beobachter Anmeldedatum: 02.06.2022 Beiträge: 2 | zitieren Ne ich hab mir keine Hilfe auf anderen Foren gesucht ![]() #include <stdio.h> #include <string.h> #include <stdlib.h> typedef struct customer{ char vorname[20]; char name[20]; int kundennummer; struct customer * next; }customer; customer * anker = NULL; customer* createCustomer(int zahl, char* vorname, char* name) { customer * neu = (customer*)malloc(sizeof(customer)); if(neu==NULL) { exit(-1); } strcpy(neu->vorname, vorname); strcpy(neu->name, name); neu->kundennummer = zahl; neu->next = anker; anker = neu; return anker; } void addCustomer(customer* root, customer* neuKunde) { customer * neu = (customer*)malloc(sizeof(customer)); if(neu==NULL) { exit(-1); } } int customerCount(customer* root) { int count=0; customer * ptr = anker; while(ptr!=NULL) { ptr = ptr->next; count++; } return count; } int main(int argc, char* argv[]) { customer *root = NULL; root = createCustomer(1, "Hans", "Maurer"); printf("%d %s %s\n", root->kundennummer, root->vorname, root->name); addCustomer(root, createCustomer(3, "Tatjana", "Roth")); addCustomer(root, createCustomer(2, "Anna-Maria", "Schmidt")); return 0; } Mein Problem ist was genau "root = createCustomer(1, "Hans", "Maurer");" für einen Wert erhalten soll. Stimmt "return anker"? Wenn nein kannst mir Tipps geben? |
▲ | pn |
Trainee ![]() Name: Mirko Geschlecht: ![]() Anmeldedatum: 06.12.2019 Beiträge: 46 Wohnort: Weingarten | zitieren Hi, leider verstehe ich die Frage nicht. Die Funktion createCustomer(...) hat genau die Werte zu erhalten, die Du für sie definiert hast. Ich kann Dir den Tipp geben, dass Du solche globalen Variablen wie "anker" tunlichst vermeiden solltest. Auch generell sollte man globale Variablen vermeiden. Hierzu empfehle ich entweder Videos auf Youtube oder entsprechende Lektüre, die den "Stack" ausführlich behandeln. Außerdem würde ich empfehlen eine Funktion "createList" anstelle von "createCustomer" zu erstellen und dann mit der Funktion "addCustomer" Daten der Liste zuzuführen. Oder Du erstellt am einfachsten die Liste gleich in der main-Funktion, da diese Liste sowieso immer und sofort nach Programmstart vorhanden sein muss. Auf die Art sparst Du dir die globale Variable. Die Funktion "createList" gibt einfach einen Zeiger (bzw. Speicheradresse) im Heap zurück, an der man dann den ersten Datensatz einfügt. (Besser gesagt, der dann auf den ersten Datensatz zeigt...) Vielleicht konnte ich etwas helfen. Grüße in die Runde |
▲ | pn |
Gast | zitieren Mach mit!Wenn Dir die Beiträge zum Thread "Wo liegt der Fehler bzw. kann mir jemand helfen?" gefallen haben oder Du noch Fragen hast oder Ergänzungen machen möchtest, solltest Du Dich gleich bei uns anmelden:Registrierte Mitglieder genießen die folgenden Vorteile: ✔ kostenlose Mitgliedschaft ✔ keine Werbung ✔ direkter Austausch mit Gleichgesinnten ✔ neue Fragen stellen oder Diskussionen starten ✔ schnelle Hilfe bei Problemen ✔ Bilder und Videos hochladen ✔ und vieles mehr... |
▲ | |
Ähnliche Beiträge | Re: √ | Letzter Beitrag | |
---|---|---|---|
VSA Fehler!!! Wer kann mir helfen? VSA geht nicht mehr aus, war heute in einer freien werkstatt auslesen-Bremsdrucksensor defekt- kennt jemand das teil-mein honda händler will es nicht... von mikai | 36 3.743 | 06.08.2023, 13:47 HondaCRV07 | |
fehler 7 beim ee8 wer kann helfen habe fehlercode 7 in meinen b16 a ist wie ich weis der drosselklappenpoti...habe aber die drosselklappe mit poti gewechselt und fehler ist noch da....habe sicherungen gezogen usw...was kann es noch sein...mir geht langsam der rat aus....diese blöde gelbe... von BLueEDHro | 0 212 | 24.07.2011, 18:32 BLueEDHro | |
kann mir jemand helfen? Ich habe ein rätsel aufbekommen.
nur leider habe ich nicht den hauch einer ahnung was das zu bedeuten hat.
vlt kann mir hier wer weiter helfen.
was bedeutet das?:
Dieses Programm benutzt die Zahlen
Null,
Eins,
Zwei,
Fuenf,
... [Allgemein]von Noisepoint | 0 470 | 19.09.2011, 20:57 ![]() Noisepoint | |
Hey kann mir jemand helfen Hey leute könnt ihr mir helfen
ich brauchte mal eure Hilfe
wo ist beim Honda Civic Bj.98 die Durchgangsbohrung für das Pluskabel für die endstufe
wenns geht schnell... von *Balla* | 12 536 | 26.07.2009, 07:58 Fräänkyy | |
kann mir jemand helfen ich fahre honda legend , jetzt habe ich volgendes problem der knalt immer das sicherung für die kraftstoffpumpe duch woran kann es liegen kann mir jemand sagen?
danke im... von sergej83 | 4 281 | 16.02.2009, 23:01 Holly71 | |
Kann mir jemand Helfen??? Bekomme angeblich mein Motor und Bremse eingetragen wenn!!!- ich einen "Übereinstimungsbescheinigung" vor lege. Das heißt ich muss belegen dass die Bremsanlage für den Motor ausreicht. Ich habe ein ED6 den ich mit ED9-Motor versüsst habe die Bremse sind... von ED&ED | 2 690 | 01.10.2005, 16:48 CheGuivera | |
Kann mir jemand helfen? Hallo!
ich haben ein/mehrere probleme mit meinem Civic Ej9 und zwar:
wenn ich morgens in mein Auto einsteig geht er nicht an Anlasser macht aber Geräusche und dann muss ich ihn so lang quälen dauert so 5 min und dann geht er endlich an! wenn ich... von civicEj9- | 10 489 | 12.12.2011, 21:34 civicEj9- | |
Kann mir jemand helfen :wall: Ich habe mir einen Mohr ESd 2x90 gekauft mit Halterung für meinen CRX del sol Bj.92
Nun wie kommen die Halterungenrichtig an die Karosse??? :?:
Grüßle... von sandysol | 17 749 | 14.04.2006, 19:02 sandysol | |
Kann mir ma jemand helfen ?? Hab auf mein Civic kein TÜV bekommen :(
Ein paar von euch kennen ihn ja schon.. Ich will den jetzt nur noch los haben...
Weis allerdings noch nicht genau wie ich es mach, weil ich noch ne 125er von Honda hab, ne NSR, die soll auch mit... von Silver_Civic_EJ6 | 12 564 | 11.04.2011, 17:51 Silver_Civic_EJ6 | |
Kann mir jemand helfen? Grafikmäßig http://www.maxrev.de/ftopic6813.htm
Danke... von Spumm2001 | 0 783 | 27.10.2005, 10:00 Spumm2001 |