Τα πάντα για την C

...του ubuntu και έργων ΕΛ/ΛΑΚ (Έργα-Οδηγοί-Προτάσεις)

Συντονιστής: konnn

Re: Τα πάντα για την C/C++

Δημοσίευσηαπό migf1 » 16 Σεπ 2011, 18:21

Star_Light έγραψε:τελος αν κανεις μια προχειρη αναζητηση

http://www.google.gr/#sclient=psy-ab&hl ... 17&bih=796

και διαβασεις τα 2 πρωτα pdf's τα οποια τυγχανει να ειναι πανεπιστημιακα... Δεν λεει πουθενα(νομιζω) οτι δεν υπάρχουν αναφορες στην C.

Κανεις απο αυτους τους 2 τους καθηγητες δεν το διαφοροποιει. Γιατι? Αν ειναι να τα βρισκεις μονος σου αυτα και να μην στα λενε απο την σχολη τοτε παιρνω πτυχιο και μονος μου :lol: :lol: :lol: τοσα λεφτα παιρνουν.

Διαβασε απο περιεργεια τα 2 pdf . Αν εχεις χρονο.

(Ουτε στα αλλα το λεει.)

εχω αδικο ? Αν εχω να το συζητησουμε.

Το 1ο είναι PowerPoint δεν είναι pdf. Στο 2ο όμως που είναι, στη σελίδα 13 που ξεκινάει να μιλάει για κλήσεις, το γράφει ξεκάθαρα:
pdf έγραψε:
Η κλήση μιας συνάρτησης στη C δεν αλλάζει τις
τιμές των παραμέτρων της συνάρτησης
(κλήση
με τιμή)
...

Και στη σελίδα 15 που ξεκινάει για αναφορές, γράφει επίσης ξεκάθαρα:
pdf έγραψε:
Για την επίλυση του παραπάνω προβλήματος
περνάμε ως παράμετρο όχι τη μεταβλητή αλλά
τη διεύθυνσή της...

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

Re: Τα πάντα για την C/C++

Δημοσίευσηαπό Star_Light » 16 Σεπ 2011, 18:32

Ναι οκ αυτο το λεει. Αλλα εγω λεω αυτο που μου ελεγαν και οι αλλοι χθες
οτι ξερεις δεν υπαρχουν αναφορες στην C ακομη και την διευθυνση την περνας pass by value
επειδη περναει ενα αντιγραφο της τιμης του δεικτη στην συναρτηση μετα ακολουθησε συζητηση για τις διευθυνσεις μιας και μιλησαμε για τιμες δεικτων και τελος πηγαμε και στο 16-δικο. Εκτος και αν δεν εχω καταλαβει ακριβως τι μου λεγανε(γιατι ηταν και αρκετα τυπικοι) -τρομακτικα τυπικοι θα ελεγα-
παντως απο οσο θα διαβασες και εσυ με διαβαζαν σαν εξωγηινο χαχαχαχαχχα τρελος ελληνας σου λεει μην δινεις σημασια
αχαχαχαχαχα ε ρε γλεντια!
Γνώσεις ⇛ 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: Τα πάντα για την C/C++

Δημοσίευσηαπό migf1 » 16 Σεπ 2011, 18:36

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

Re: Τα πάντα για την C/C++

Δημοσίευσηαπό Star_Light » 16 Σεπ 2011, 19:51

migf1 έγραψε:Ότι λέει το pdf σου έλεγαν και οι άλλοι, ότι λέει το pdf σου είπα κι εγώ... δεν υπάρχουν αναφορές στην C, αλλά τις προσομοιώνεις με χρήση δεικτών. Τι ακριβώς δεν καταλαβαίνεις;


Οκ migf ειναι οκ πλεον.
Γνώσεις ⇛ 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: Τα πάντα για την C/C++

Δημοσίευσηαπό migf1 » 16 Σεπ 2011, 21:18

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

Re: Τα πάντα για την C/C++

Δημοσίευσηαπό Star_Light » 16 Σεπ 2011, 21:21

migf1 έγραψε:Χαίρομαι :)


2 λεπτα... τελευταια επισημανση....

τωρα το πιασα... δηλαδη ουσιαστικα ειναι μεν pass by value του δεικτη που τελικα προσομειωνει call by reference ???

Γιατι βαζαμε ετικετες παλια call by reference και απλα εννοουσαμε αυτο τοτε αλλα εγω δεν θα το ειχα καταλαβει τοσο πολυ ε? (Ναι / Οχι) ΛΟΛ
Γνώσεις ⇛ 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: Τα πάντα για την C/C++

Δημοσίευσηαπό Star_Light » 16 Σεπ 2011, 21:41

migf1 έγραψε:Α, σε ότι αφορά την ερώτηση που τους έκανες σχετικά με το πέρασμα του array στην bubble-sort, να στο πω κι εγώ στα Ελληνικά που σου είναι πιο κατανοητά.

Όταν περνάς πίνακες σε συναρτήσεις, τότε περνιέται by value ο δείκτης με το όνομα του πίνακα, που περιέχει τη διεύθυνση του 1ου στοιχείου του πίνακα. Αυτό λοιπόν είναι σαν να περνάς by reference το 1ο στοιχείο του πίνακα: arr == &arr[0] και άρα *arr == arr[0]

Όταν μέσα στη συνάρτηση γράφεις π.χ. arr[i] ο δείκτης μετακινείται στο i-οστό στοιχείο του πίνακα, και εξακολουθεί να συμπεριφέρεται σαν να επεξεργάζεσαι by refrenece το i-οστό στοιχείο του πίνακα.

Που όλο μαζί σημαίνει, πως επεξεργάζεσαι by reference όλα τα στοιχεία του πίνακα, αλλά ο δείκτης αυτός κάθε αυτός έχει περαστεί by value.

Από την άλλη, αν θέλεις να επεξεργαστείς μέσα σε μια συνάρτηση σαν by reference έναν δείκτη, θα πρέπει να περάσεις στη συνάρτηση τη διεύθυνση του δείκτη (δηλαδή δείκτη σε δείκτη)... αλλά αυτό αν δεν έχεις καταλάβει πρώτα το παραπάνω δεν πρόκειται να το καταλάβεις. Πρώτα πρέπει να καταλάβεις τα απλά στάδια πριν επιχειρήσεις να ασχοληθείς με πιο προχωρημένα.


Κοιτα... προβλημα με το περασμα δεν εχω... δηλαδη αν περνιουνται σαν τιμες ή σαν μεταβλητες. Αυτο το εχω καταλαβει... απλα εκεινο που με προβληματισε ηταν το γεγονος οτι ναι μεν την περασα σαν διευθυνση πινακα την τιμη μεσα στην κληση της συναρτησης αλλα πουθενα μεσα στην συναρτηση δεν επαιξα με δεικτες και λεω τι γινεται εδω? αυτο ηταν η βασικη απορια μου που με εκανε να ποσταρω.
Γνώσεις ⇛ 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: Τα πάντα για την C/C++

Δημοσίευσηαπό migf1 » 16 Σεπ 2011, 21:48

Star_Light έγραψε:
migf1 έγραψε:Χαίρομαι :)


2 λεπτα... τελευταια επισημανση....

τωρα το πιασα... δηλαδη ουσιαστικα ειναι μεν pass by value του δεικτη που τελικα προσομειωνει call by reference ???

Προσομοιώνει call/pass by reference των περιεχομένων του δείκτη (εκείνων στα οποία δείχνει ο δείκτης δηλαδή).

έγραψε:Γιατι βαζαμε ετικετες παλια call by reference και απλα εννοουσαμε αυτο τοτε ... (Ναι / Οχι) ΛΟΛ

Ε, πρέπει να έχουμε μια ορολογία για να συνεννοούμαστε... αντί να λέμε "by value του δείκτη που προσομοιώνει by reference των περιεχομένων του" λέμε σκέτο "by reference" (εννοώντας των περιεχομένων του δείκτη) και τελειώνουμε.

έγραψε:... αλλα εγω δεν θα το ειχα καταλαβει τοσο πολυ ε?

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

Re: Τα πάντα για την C/C++

Δημοσίευσηαπό Star_Light » 16 Σεπ 2011, 21:53

migf1 έγραψε:
Προσομοιώνει call/pass by reference των περιεχομένων του δείκτη (εκείνων στα οποία δείχνει ο δείκτης δηλαδή).

Ε, πρέπει να έχουμε μια ορολογία για να συνεννοούμαστε... αντί να λέμε "by value του δείκτη που προσομοιώνει by reference των περιεχομένων του" λέμε σκέτο "by reference" (εννοώντας των περιεχομένων του δείκτη) και τελειώνουμε.


Είναι σίγουρο πως τώρα το έχεις καταλάβει; :lol:


xaxaxaxxaxaxaxaxaxa ωραιος. Κοιταξε.... ξερεις τι καταλαβαινω? ΜΟνο ο χρονος θα με σωσει αν με σωσει
αν δεν με σωσει παω προς δικτυα και πιο τεχνικα πραγματα και τελειωσε. Ε δεν θα κατσω να σκασω κιολας.
Νταξει σε εχω παραζαλισει. Εχω καποιες αποριες ακομη αλλα αστο. Δεν φταις και εσυ σε τιποτα . :lol:

P.S ΚΑΙ ακριβως αυτα τα περιεχομενα του δεικτη που λες εσυ αποψε... μου ειπαν και οι αλλοι χθες με την διαφορα οτι ολα αυτα ειναι δυαδικα. ΟΠως καθετι στον υπολογιστη και το αν θα επιλεξουμε να τα αναπαραστησουμε σε 16-δικο ή καποιο αλλο συστημα ειναι θεμα επιλογης. Το παζλ λύθηκε.
Γνώσεις ⇛ 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: Τα πάντα για την C/C++

Δημοσίευσηαπό migf1 » 16 Σεπ 2011, 22:06

Star_Light έγραψε:
xaxaxaxxaxaxaxaxaxa ωραιος. Κοιταξε.... ξερεις τι καταλαβαινω? ΜΟνο ο χρονος θα με σωσει αν με σωσει

Μόνο το γράψιμο κώδικα ολοκληρωμένων και εστιασμένων ασκήσεων θα σε σώσει, αν σε σώσει. Προγραμματισμός στο μιλητό, στο διαβαστό και στο γκουγλαριστό πολύ απλά δεν μαθαίνεται... και 10 χρόνια να διαβάζεις, χωρίς κώδικα δεν πρόκειται να μάθεις ποτέ!

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

Ότι γράφω παραπάνω... ισχύει περίπου χ4 για τα δίκτυα, και για τα πιο τεχνικά χ10.

έγραψε:Νταξει σε εχω παραζαλισει. Εχω καποιες αποριες ακομη αλλα αστο. Δεν φταις και εσυ σε τιποτα . :lol:

Δεν έχω πρόβλημα, αρκεί αυτά που σου απαντάω να μη μου τα ξαναρωτάς πάλι τα ίδια μόλις 2-3 ποστς παρακάτω από την απάντηση, και επί 2-3 μέρες, χωρίς καν να μπαίνεις στο κόπο να τα εξασκήσεις πρώτα :P

έγραψε:P.S ΚΑΙ ακριβως αυτα τα περιεχομενα του δεικτη που λες εσυ αποψε... μου ειπαν και οι αλλοι χθες με την διαφορα οτι ολα αυτα ειναι δυαδικα. ΟΠως καθετι στον υπολογιστη και το αν θα επιλεξουμε να τα αναπαραστησουμε σε 16-δικο ή καποιο αλλο συστημα ειναι θεμα επιλογης. Το παζλ λύθηκε.

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

ΠροηγούμενηΕπόμενο

Επιστροφή στο Ανάπτυξη Λογισμικού / Αλγόριθμοι