• Reset your password

User account menu

  • Artikler
  • Forside
  • Forum
  • Nyheder
  • Log in
Hjem
Linuxin 2025

Breadcrumb

  • Hjem
  • forums
  • C linkedlist implementation - review/hjælp

Hvad kan du med 100% sikkerhed sige, at du har stemt?

Resultater

1
0% (0 stemmer)
2
0% (0 stemmer)
Schrödinger
100% (1 stemme)
Antal stemmer: 1
Af dbuch | 24.02.2013 12:51

C linkedlist implementation - review/hjælp

Programmering

Hej,



Jeg er stadig rookie C udvikler og jeg har prøvet kræfter med dbl. pointere og linkedlist på det seneste.



Kunne være dejligt med et lille review/hjælp, hvis der er nogen der har lyst?



Der ER bugs;

* dispose_list() free'er alle notes men valgrind fortæller invalid read size 8 - den kan jeg ikke lige lurre?

* delete_note() virker heller ikke efter hensigten :)



Koden ligger her på https://github.com/dbuch/linked-list. På forhånd tak :)

  • Log in to post comments

Kommentarer3

12 år 2 måneder siden

Permalink

Indsendt af floop den 25. februar 2013 kl. 12:50

Permalink

Skriv nogle kommentare på

Skriv nogle kommentare på så der er en klar beskrivelse af hvad de forskellige ting gør.



Hvis din delete_note skal virke som "find det her element og slet det", så søger du ikke noget igennem.

Derudover ville det hjælpe dig hvis du returnere pointeren til den node der er svaret på dit spørgsmål; så kan du feks bruge din "search_node" i din "delete_node".



Generelt ser det ud til at du kommer til at bruge meget arbejde på at vedligeholde din linked list udenfor dit dit lille library; feks kræver append at du selv allokere et hukommelses-område, det kan funktionen vel selv holde styr på?



Har du et test-program der viser din test af koden?



Also, dit link i teksten er broken.

  • Log in to post comments

12 år 2 måneder siden

Permalink

Indsendt af dbuch den 25. februar 2013 kl. 18:52

Permalink

#1 super! Faktisk fik jeg

#1 super! Faktisk fik jeg delete_note() til og virke lige som du forslog.



Har du et test-program der viser din test af koden?



ja bare git clone, og så kør make. main.c er faktisk min test og det bliver compilede uden noget fis. Håber du tør :p



Generelt ser det ud til at du kommer til at bruge meget arbejde på at vedligeholde din linked list udenfor dit dit lille library; feks kræver append at du selv allokere et hukommelses-område, det kan funktionen vel selv holde styr på?



Det skulle jeg mene, og ja jeg skal have lavet nogle comments i koden - det vil sikkert også hjælpe mig selv med og holde styr på alt det her pointer helvede som jeg endnu ikke er helt komfortabel med.



EDIT: list_dispose() er fiksede og delete_note() er som sagt også blevet til noget via search_note().

  • Log in to post comments

12 år 2 måneder siden

Permalink

Indsendt af nicklasw den 25. februar 2013 kl. 23:05

Permalink

struktur ting

Jeg vil personligt (og gør jeg også altid selv når jeg har med linked lists at gøre) lave en typedef på pointer typen af din struct, altså:

typedef list *listPrt;

jeg synes personligt at koden bliver nemmere at overskue på den måde.

Desuden kan du godt typedef'e din struct med samme navn som struct'en selv, det vil sige du behøver ikke kalde den llist, du kan bare gøre således





struct list {

.....

}



typedef list list;





samlet så vil jeg bytte dine øverste linjer i linkedlist.h ud med





typedef struct list list;

typedef list *listPrt;



struct list {

int data;

listPrt next;

};



og alle de steder hvor du bruger *list vil jeg skrive listPrt og alle de steder du bruger **list vil jeg skrive *listPrt (fordi listPrtPrt er fjollet).



Det små ting men det bare my 50 cent ;)



Forresten hvis du undre dig over at jeg typedef'er structen før jeg definerer det, så er det fuldt lovligt...

  • Log in to post comments

Svar søges

2 stk Jolla C2 sælges 0
Den er go 0
Vil du have et sikrere og mere privat internet? Du skal blot installere Vivaldi-browseren med Proton VPN understøttelse! 0
14. februar = I Love Free Software Day 0
Lokal fil-deling - for de dovne. 0

Seneste aktivitet

Det første forumindlæg efter installation af Forum-modulet 8
Test 1
Vanilla OS 12
Nye forum-indlæg viser sig kun 1 gang 1
Vil alle forumindlæg vise sig to gange 1
Hjælp til remote terminal vindue? 3
PCLinuxOS 19
Kan ikke boote på installation 24
80-20 reglen 1
Skærmlys fader ud på min bærbare 8
32 bit distro på max 700mb der stadig understøttes 26
Har vi nogen Linux konsulenter i Slagelse området? 3
Virkelig 7
gnome-software? 3
Archer T2U AC600 Wireless Dual Band USB Adapter 26
En farverig APT 3.0 udgivelse imponerer med sine nye funktioner 2
Unix's fødsel 2
Linux Mint 13
"Intet realistisk alternativ" - mig i r*ven 1
German state moving 30,000 PCs to LibreOffice 6

Copyright © 2025 Company Name - All rights reserved

Developed & Designed by Alaa Haddad