imitheos Δημοσ. 25 Ιουλίου 2018 Δημοσ. 25 Ιουλίου 2018 1 ώρα πριν, Fortistis είπε @Ilias95 @defacer @imitheos OK. Είμαι λάθος σε αυτό. Αν λες "οκ είμαι λάθος" απλά για να σκάσουμε και να λήξει το θέμα τότε δεν έχει νόημα. Εννοούσες κάτι άλλο και δεν καταλάβαμε εμείς τι ήταν αυτό ? Αν όχι, κατάλαβες γιατί είσαι λάθος ? Σημασία έχει να καταλαβαινόμαστε και να μαθαίνουμε.
Fortistis Δημοσ. 25 Ιουλίου 2018 Δημοσ. 25 Ιουλίου 2018 12 λεπτά πριν, imitheos είπε Αν λες "οκ είμαι λάθος" απλά για να σκάσουμε και να λήξει το θέμα τότε δεν έχει νόημα. Εννοούσες κάτι άλλο και δεν καταλάβαμε εμείς τι ήταν αυτό ? Αν όχι, κατάλαβες γιατί είσαι λάθος ? Σημασία έχει να καταλαβαινόμαστε και να μαθαίνουμε. Κατάλαβα ότι είμαι λάθος. Γιατί να το κάνω απλά για να "σκάσουμε και να λήξει το θέμα";
cvb~ Δημοσ. 25 Ιουλίου 2018 Δημοσ. 25 Ιουλίου 2018 Καλησπέρα. Εδώ https://www.digitalmars.com/articles/b44.html ο συντάκτης του κειμένου γράφει για παρόμοιο θέμα.
marios28 Δημοσ. 25 Ιουλίου 2018 Δημοσ. 25 Ιουλίου 2018 3 ώρες πριν, cvb~ είπε Καλησπέρα. Εδώ https://www.digitalmars.com/articles/b44.html ο συντάκτης του κειμένου γράφει για παρόμοιο θέμα. Και στο παρακάτω εκτός των άλλων, αναφέρονται οι λόγοι απο τον D. Ritchie που επιλέχθηκε αυτού του τύπου η προσέγγιση. (όπως στο άρθρο ή στο παράδειγμα [1] που ανέφερα πιο πίσω) https://heim.ifi.uio.no/inf2270/programmer/historien-om-C.pdf
cvb~ Δημοσ. 27 Ιουλίου 2018 Δημοσ. 27 Ιουλίου 2018 Ναι, και στην ενότητα Critique του pdf στη σελίδα 12 λέει κάποια πράγματα γι’ αυτό που λες, γιατί δηλαδή προσεγγίστηκε έτσι. int f(a) int a[]; { ... } Αναφορά σε κείμενο ... a is, in this special case only, interpreted in C as a pointer. The notation survived in part for the sake of compatibility, in part under the rationalization that it would allow programmers to communicate to their readers an intent to pass f a pointer generated from an array, rather than a reference to a single integer. Unfortunately, it serves as much to confuse the learner as to alert the reader. ...
Ilias95 Δημοσ. 28 Ιουλίου 2018 Δημοσ. 28 Ιουλίου 2018 (επεξεργασμένο) Ένα άλλο ενδιαφέρον σημείο στο οποίο εμμέσως αναφέρθηκε και ο imitheos είναι όταν περνάς ένα 2-D array σε function. Το: void foo(int x[][3]); ΔΕΝ γίνεται να αντικατασταθεί με: void foo(int **x); Η απάντηση στο γιατί βρίσκεται εδώ: http://c-faq.com/aryptr/pass2dary.html Επεξ/σία 28 Ιουλίου 2018 από Ilias95
marios28 Δημοσ. 28 Ιουλίου 2018 Δημοσ. 28 Ιουλίου 2018 16 ώρες πριν, Ilias95 είπε Ένα άλλο ενδιαφέρον σημείο στο οποίο εμμέσως αναφέρθηκε και ο imitheos είναι όταν περνάς ένα 2-D array σε function. Το: void foo(int x[][3]); ΔΕΝ γίνεται να αντικατασταθεί με: void foo(int **x); Η απάντηση στο γιατί βρίσκεται εδώ: http://c-faq.com/aryptr/pass2dary.html Να συμπληρώσω μόνο ότι η απάντηση βρίσκεται επίσης (από 'κει είναι), όπως και τα λίγα παραπάνω και όλα όσα αφορούν τη C, στη βίβλο: https://www.amazon.com/Programming-Language-2nd-Brian-Kernighan/dp/0131103628 Ωραία τα tutorials, το youtube, το stackoverflow, τα επιπλέον βιβλία κ.τ.λ., αλλά καλό είναι να υπάρχει και η πηγή για όσους θέλουν να ασχοληθούν.
cvb~ Δημοσ. 1 Αυγούστου 2018 Δημοσ. 1 Αυγούστου 2018 (επεξεργασμένο) Καλό αλλά και δύσκολο το βιβλίο των K&R. Σε μεγάλα, σημαντικά έργα όπως ο πυρήνας του Linux εκτός απ΄ αυτό προτείνουν και κάποια άλλα όπως το “Practical C Programming”, Steve Oualline και το “C: A Reference Manual”, Harbison and Steele. Η ιστοσελίδα που τα ανεφέρει βρίσκεται εδώ https://www.kernel.org/doc/html/v4.16/process/howto.html στην ενότητα Introduction. Επίσης κάποιοι λένε καλά λόγια και για το βιβλίο "C Programming: A Modern Approach", 2nd Edition, K. N. King. Αυτά, σε συνδυασμό με τα πρότυπα της γλώσσας C αλλά και γνωστούς, δοκιμασμένους ιστότοπους, μάλλον αποτελούν τις καλύτερες πηγές τεκμηρίωσης. Τέλος, στα ελληνικά, ένα απ' τα καλά βιβλία μάλλον είναι το "Η γλώσσα C σε βάθος", 5η εκδ, Ν. Χατζηγιαννάκης. Επεξ/σία 1 Αυγούστου 2018 από cvb~
Προτεινόμενες αναρτήσεις
Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε
Πρέπει να είστε μέλος για να αφήσετε σχόλιο
Δημιουργία λογαριασμού
Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!
Δημιουργία νέου λογαριασμούΣύνδεση
Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.
Συνδεθείτε τώρα