Zum Inhalt springen

hame

Mitglieder
  • Gesamte Inhalte

    44
  • Benutzer seit

  • Letzter Besuch

  1. hame

    zeiger auf strukturen

    ich hab mir hat vorher eine header angelegt mit den funktionsdeklarationen und strukturdeklarationen und danach schreib ich mir eine testeliste.c und schreib in der mein() einen listenkopf und schreib was in die struktur und teste es. aber ich hab halt hier noch ein paar probleme wie man sieht ^^
  2. hame

    zeiger auf strukturen

    ich glaub ich brauch da gar kein malloc, das lass ich mal gleich weg. aber ich glaub das andere ist soweit richtig ich soll ja nur den listenkopf mit nullern initialisieren. das hab ich auch gerade gemerkt und hab es verbessert ^^ aber sonst passt alles oder?
  3. ich hab folgende struktur gegeben #define LAENGE 80 typedef struct t_element{ char inhalt[LAENGE]; struct t_element *next; }t_element; typedef struct{ struct t_element *erstesElement; struct t_element *letztesElement; int anzahlElemente; }t_Listenkopf jetzt hab ich zwei funktionen geschrieben die eine intialisiert den Listenkopf mit Null Werten und die andere fügt vorne ein neues Element ein. void initListe(t_Listenkopf *li){ li = malloc(sizeof(t_Listenkopf); li->erstesElement = NULL; li->letztesElement = NULL; li->anzahlElemente = NULL; } void vorneEinfuegen(t_Listenkopf *li, char *str){ t_Listenkopf *neu; neu = malloc(sizeof(t_Element)); if(neu==0){ printf("malloc fehlgeschlagen"); return -1; } neu->inhalt[LAENGE] = str; neu -> next = li -> erstesElement; if(!li -> erstesElement){ li->letztesElement = neu; li->erstesElement = neu; } } jetzt wollt ich fragen ob das so grob stimmt weil ich noch nichts in die strukturen geschrieben habe und es noch nicht getestet habe. mfg.
  4. hame

    structs

    mich hat die blöd angabe von meinem blatt irritiert...deswegen hab ich p geschrieben. aber ich es klappt jetzt alles wunderbar und ich glaub ich check langsam das ganze konzept von pointer und structs ^^. danke nochmal
  5. hame

    structs

    heißt ich muss speicher für p holen oder in den argumenten statt p, adressen schreiben? aber er hängt sich danach trotzdem wieder auf!
  6. hame

    structs

    oha, ich studiere wirtschaftsinformatik und muss fast alle fächer aus informatik belegen und jetzt ist halt c dran, und ich muss mich sputen. wo studierst du?
  7. hame

    structs

    void suche(t_adresse** p, char *name, int k){ for(i=0;i<k;i++){ if(strcmp(p[i]->name,name)){ printf("name: %s\n", p[i]->name); printf("vorname: %s\n", p[i]->vorname); printf("plz: %i\n",p[i]->plz); } } } main(){ int i,k; t_adresse** p; char *name; t_adresse** adressen; t_adresse* adresse; printf("Bitte Anzahl eingeben: \n"); scanf("%i", &k); adressen=malloc(k * sizeof(t_adresse*)); for (i = 0; i<k; i++) { adressen[i] = eingabe(); } printf("Bitte namen eingeben: \n"); gets(name); suche(p,name,k); /*wieso hängt er sich hier auf?*/ for (i = 0; i<k; i++) { free(adressen[i]); } free(adressen); return 0; } kannst du mal nachschaun, er hängt sich auf beim eingeben des namens.
  8. hame

    structs

    das passt zwar gard nicht zum thema aber du kennst dich voll gut aus in dem thema bist du lehrer oder so oder was machst du ? hast du dir das alles selber beigebracht? ich versuchs nämlich auch grad aber es hängt halt an ein paar sachen ^^
  9. hame

    structs

    sehr, danke!
  10. hame

    structs

    mir war schon klar was da passiert, hättest ja niicht so ausführlich beschreiben müssen außer vlt das erste mit t_adresse**adressen das war nicht so klar. bei den anderen sachen wusste ich schon was passiert ich arbeite ja schon sein ein paar wochen mit c hehe. zwar nur für die uni aber egal. ^^ das weiß ich halt noch nicht was alle fehlermeldungen heißen. diese beispiel sollte eine bestimmt eine einführung in die listen sein und damit hab ich so ziemlich probleme es fängt ja schon bei der referenzierung bzw dereferenzierung von zeigern -.-
  11. hame

    structs

    bei mir aber sagt der compiler "forbids mixed declaration" bei t_adresse**adressen = malloc(k*sizeof(t_adresse*)); und außerdem wollte ich doch nicht adressen den speicher zuweisen sonder dem speicher oben in meiner funktion?
  12. hame

    structs

    klappt jetzt wunderbar und wenn ich jetzt den user fragen will wie viele einträge er speichern will dann muss ich doch nur das array der angabe anpassen?
  13. hame

    structs

    ahhh danke, also langsam komme ich mir richtig blöd vor.
  14. hame

    structs

    so fast geschafft, er bricht mir nur ab wenn ich zahlen eingebe, wieso? hat es was mit speicherreservierung zu tun? typedef struct{ char name[30]; char vorname[30]; int plz; }t_adresse; t_adresse* eingabe() { t_adresse *speicher; speicher = malloc(sizeof(t_adresse*)); printf("Name eingeben: \n"); fgets(speicher->name,50,stdin); printf("Vorname eingeben: \n"); fgets(speicher->vorname,50,stdin); printf("Postleitzahl eingeben: \n"); scanf("%i", speicher->plz); return speicher; } main(){ int i; t_adresse* adressen[5]; t_adresse* adresse; for (i = 0; i<5; i++) { adressen = eingabe(); } }
  15. hame

    structs

    ich glaube da ist der ansatz den ich gehen sollte. nur muss ich ein paar sachen umstellen. weil ich noch fehler bekomme ^^

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...