ΚΕΦΑΛΑΙΟ 6 - ΔΕΙΚΤΕΣ

...ασύγχρονα μαθήματα γλώσσας C

Re: ΚΕΦΑΛΑΙΟ 6 - ΔΕΙΚΤΕΣ

Δημοσίευσηαπό migf1 » 28 Ιουν 2011, 01:01

Και μιας και είναι σε πλήρη αρμονία με το νήμα, διαλέξτε από τη δεξιά μεριά σε ποια γλώσσα θέλετε να δείτε ένα "παιδικό" βίντεο για την κατανόηση των pointers: http://cslibrary.stanford.edu/104/
Go under the hood with C: Pointers, Strings, Linked Lists
Άβαταρ μέλους
migf1
powerTUX
powerTUX
 
Δημοσιεύσεις: 2082
Εγγραφή: 03 Ιουν 2011, 16:32
Εκτύπωση

Re: ΚΕΦΑΛΑΙΟ 6 - ΔΕΙΚΤΕΣ

Δημοσίευσηαπό Star_Light » 28 Ιουν 2011, 01:02

Nαι εχεις δικιο. ΕΒγαλα την for και το διαπιστωσα και εγω....

γιατι ομως.... δεν εκανα καλα την αρχικοποιηση ???
Γνώσεις ⇛ Linux: Βασικές ┃ Προγραμματισμός: Δέν θέλω μεροκάματο , θέλω C και κακο θάνατο! ┃ Αγγλικά: Lower
Λειτουργικό ⇛ Ubuntu 10.10 σε Dual Boot με Windows 7
Προδιαγραφές ⇛ Επεξεργαστής : Intel(R) Core(TM) i3 CPU 540 @3.07Ghz (64bit)
RAM : Kingston 2GB
HDD : Coreshare 500GB
Κάρτα Γραφικών : Intel Corporation Core Processor Integrated Graphics Controller(rev 18) (prog-if 00 [VGA controller]) [8086:0042]
Star_Light
superbTUX
superbTUX
 
Δημοσιεύσεις: 2787
Εγγραφή: 01 Μάιος 2010, 21:07
Τοποθεσία: Αθήνα
IRC: Star_Light
Εκτύπωση

Re: ΚΕΦΑΛΑΙΟ 6 - ΔΕΙΚΤΕΣ

Δημοσίευσηαπό migf1 » 28 Ιουν 2011, 01:08

Star_Light έγραψε:
Aρχικοποιω εναν πινακα οπου καθε στοιχειο του ειναι μια υλοποιηση της παραπανω δομης. Ετσι δεν ειναι????

Έτσι είναι, αλλά η δομή έχει μέσα της ένα πεδίο (field) που είναι δείκτης...
έγραψε:To new->next = head είναι 2 μεταβλητές μονών δεικτών (customer *) μου λες αλλα εφοσον εχω δηλωσει 3 δεικτες ρε παιδι μου.... *next *head *new... αυτο δεν καταλαβαινω. Καθαρο μυαλο εχω απλα με απογοητευει καποιες φορες που θελω τοσο διαβασμα για να τα παρω.

... oπότε ο new δείχνει στη δομή, αλλά γράφοντας new->next εννοείς τον δείκτη που βρίσκεται μέσα στην δομή. Οπότε, με το: new->next = head, βάζεις αυτόν τον δείκτη που βρίσκεται μέσα στην δομή να δείχνει όπου ο δείχνει ο δείκτης head.

Μην απογοητεύεσαι, θέλει κι εξάσκηση εκτός από διάβασμα. Το καλό είναι πως αν τα καταλάβεις, μετά δεν τα ξεχνάς με τίποτα... σαν το ποδήλατο ένα πράμα :lol:
Τελευταία επεξεργασία από migf1 και 28 Ιουν 2011, 01:12, έχει επεξεργασθεί 1 φορά/ες συνολικά
Go under the hood with C: Pointers, Strings, Linked Lists
Άβαταρ μέλους
migf1
powerTUX
powerTUX
 
Δημοσιεύσεις: 2082
Εγγραφή: 03 Ιουν 2011, 16:32
Εκτύπωση

Re: ΚΕΦΑΛΑΙΟ 6 - ΔΕΙΚΤΕΣ

Δημοσίευσηαπό migf1 » 28 Ιουν 2011, 01:10

Star_Light έγραψε:Nαι εχεις δικιο. ΕΒγαλα την for και το διαπιστωσα και εγω....

γιατι ομως.... δεν εκανα καλα την αρχικοποιηση ???

Την αρχικοποίηση καλά την έκανες. Απλά δεν έχεις καταλάβει τι είναι η απλά συνδεδεμένη λίστα. Δεν έχει καμία σχέση με πίνακες (είναι εναλλακτική υλοποίηση ενός πίνακα).
Go under the hood with C: Pointers, Strings, Linked Lists
Άβαταρ μέλους
migf1
powerTUX
powerTUX
 
Δημοσιεύσεις: 2082
Εγγραφή: 03 Ιουν 2011, 16:32
Εκτύπωση

Re: ΚΕΦΑΛΑΙΟ 6 - ΔΕΙΚΤΕΣ

Δημοσίευσηαπό Star_Light » 28 Ιουν 2011, 02:39

migf1 έγραψε:
Star_Light έγραψε:
Aρχικοποιω εναν πινακα οπου καθε στοιχειο του ειναι μια υλοποιηση της παραπανω δομης. Ετσι δεν ειναι????

Έτσι είναι, αλλά η δομή έχει μέσα της ένα πεδίο (field) που είναι δείκτης...
έγραψε:To new->next = head είναι 2 μεταβλητές μονών δεικτών (customer *) μου λες αλλα εφοσον εχω δηλωσει 3 δεικτες ρε παιδι μου.... *next *head *new... αυτο δεν καταλαβαινω. Καθαρο μυαλο εχω απλα με απογοητευει καποιες φορες που θελω τοσο διαβασμα για να τα παρω.

... oπότε ο new δείχνει στη δομή, αλλά γράφοντας new->next εννοείς τον δείκτη που βρίσκεται μέσα στην δομή. Οπότε, με το: new->next = head, βάζεις αυτόν τον δείκτη που βρίσκεται μέσα στην δομή να δείχνει όπου ο δείχνει ο δείκτης head.

Μην απογοητεύεσαι, θέλει κι εξάσκηση εκτός από διάβασμα. Το καλό είναι πως αν τα καταλάβεις, μετά δεν τα ξεχνάς με τίποτα... σαν το ποδήλατο ένα πράμα :lol:


!!!! αΚΡΙΒΩς Φιλε μου. Εγω κανω και θα κανω την προσπαθεια μου και οπου βγει. Και ως εδω που εχω φτασει την υγεια μας να χουμε ικανοποιημενος ειμαι. Πριν 7 μηνες δεν γνωριζα οτι ο Υπολογιστης έχει BIOS!!!! Πως εβγαλα την σχολη θα μου πεις???

Μια λεξη τα λεει ολα -> ΕΛλαδα!!! Φυσικα ποτε δεν αντεγραψα και διαβαζα αλλα μια πικρη αληθεια ειναι πως εδω δεν τους ενδιαφερει να σε προετοιμασουν για να βγεις να εισαι ετοιμος για δουλεια. Οτι κανεις και οτι μαθεις θα το μαθεις μονος σου με δικο σου κοπο.

Παλι καλα που εχω και εσας την κοινοτητα κτλπ. Για αλλη μια φορα αναγνωριζω και την μεγαλη δικη σου βοηθεια ως τωρα (αρκετα μεγαλη ) οπως και αλλων παιδιων εδω που συζηταμε κτλπ.

Σας ευχαριστω ολους! Για παντα ΛΙΝΟΥΞΑΣ!!!!!!!!

Π.Σ Παω να ξαναδω τον κωδικα!
Γνώσεις ⇛ Linux: Βασικές ┃ Προγραμματισμός: Δέν θέλω μεροκάματο , θέλω C και κακο θάνατο! ┃ Αγγλικά: Lower
Λειτουργικό ⇛ Ubuntu 10.10 σε Dual Boot με Windows 7
Προδιαγραφές ⇛ Επεξεργαστής : Intel(R) Core(TM) i3 CPU 540 @3.07Ghz (64bit)
RAM : Kingston 2GB
HDD : Coreshare 500GB
Κάρτα Γραφικών : Intel Corporation Core Processor Integrated Graphics Controller(rev 18) (prog-if 00 [VGA controller]) [8086:0042]
Star_Light
superbTUX
superbTUX
 
Δημοσιεύσεις: 2787
Εγγραφή: 01 Μάιος 2010, 21:07
Τοποθεσία: Αθήνα
IRC: Star_Light
Εκτύπωση

Re: ΚΕΦΑΛΑΙΟ 6 - ΔΕΙΚΤΕΣ

Δημοσίευσηαπό Star_Light » 28 Ιουν 2011, 02:58

Tωρα καταλαβα ποιο ειναι το λαθος μου! Ουσιαστικα οριζω εναν head ο οποιος δειχνει σε εναν NULL
και μετα βαζω και τον new να δειχνει εκει που δειχνει ο head δηλαδη σε NULL
Γνώσεις ⇛ Linux: Βασικές ┃ Προγραμματισμός: Δέν θέλω μεροκάματο , θέλω C και κακο θάνατο! ┃ Αγγλικά: Lower
Λειτουργικό ⇛ Ubuntu 10.10 σε Dual Boot με Windows 7
Προδιαγραφές ⇛ Επεξεργαστής : Intel(R) Core(TM) i3 CPU 540 @3.07Ghz (64bit)
RAM : Kingston 2GB
HDD : Coreshare 500GB
Κάρτα Γραφικών : Intel Corporation Core Processor Integrated Graphics Controller(rev 18) (prog-if 00 [VGA controller]) [8086:0042]
Star_Light
superbTUX
superbTUX
 
Δημοσιεύσεις: 2787
Εγγραφή: 01 Μάιος 2010, 21:07
Τοποθεσία: Αθήνα
IRC: Star_Light
Εκτύπωση

Προηγούμενη

Επιστροφή στο Μαθήματα C

cron