Τα p.name και p.surname είναι strings άρα δεν θέλουν & στην scanf. Τα υπόλοιπα είναι απλές μεταβλητές (ακέραιες) άρα θέλουν & στην scanf. Είναι σημαντικό να τα ξεκαθαρίσεις αυτά (παρόλο που είσαι διεφθαρμένος δικηγόρος και δεν έχεις ανάγκη ;-) και νομίζω περιγράφονται επαρκώς στο μάθημα 9 "Είσοδος/Έξοδος Δεδομένων"
Ουσιαστικά θα μπορούσαμε να πούμε ότι οι δομές είναι κάποια αντικείμενα με κάποιες ιδιότητες/χαρακτηριστικά; Για κάποιο λόγο μου φαίνονται αρκετά πανομοιότυπα με τα objects σε αντικειμενοστραφή προγραμματισμό.
Είναι ο πρόγονος των κλάσεων στον αντικειμενοστρεφή προγραμματισμό... H C (1970s) έφτιαξε τις δομές, η C++ (1980s) επέκτεινε τις δομές με πρόσθετη λειτουργικότητα, κατασκευάζοντας τις κλάσεις. Έπειτα το νερό κύλισε στο αυλάκι ;-) Οπότε ξέχνα τα αντικειμενοστρεφή χαρακτηριστικά (δεν υπήρχαν) και είναι απλά ότι είπαμε, δηλαδή μια ομαδοποίηση μεταβλητών..
Ναι, οι δομές επεκτάθηκαν στη C++ πρόσθεσαν λειτουργικότητα (τις μεθόδους) και ονομάστηκαν "κλάσεις". [Λίγο για την ορολογία μόνο: "Δομές Δεδομένων" ομαδοποιούμε κάποιες οργανώσεις δεδομένων γύρω από μια μεθοδολογία, π.χ. στοίβα, ουρά, λίστα (κ.λπ.) που ακολουθεί και η μελέτη τους στην επόμενη σειρά (Δομές Δεδομένων σε C). Οπότε οι δομές δεδομένων (data structures) χρησιμοποιούν στη C τις δομές (structs) για να υλοποιηθούν.]
Δάσκαλε, γιατί στο τελευταίο παράδειγμα για να διαβάσεις το όνομα χρησιμοποίησες %s και όχι %ch; Φαντάζομαι επειδή ειναι struct, ναι αλλά στους αριθμούς δεν έκανες το ίδιο..
+Thanos Goulianos Παιδί μου, ξαναδές λίγο στο μάθημα 10: ruclips.net/video/Tkgw7dDEPqk/видео.html γύρω στην μέση τους προσδιοριστές όταν τυπώνουμε συμβολοσειρές (όχι χαρακτήρες, συμβολοσειρες)
Γιατι στις πρωτες 2 scanf δεν βαζουμε & μπροστα απο το p.name , p.surname , ενω σε ολες τις υπολοιπες βαζουμε & ?
Τα p.name και p.surname είναι strings άρα δεν θέλουν & στην scanf. Τα υπόλοιπα είναι απλές μεταβλητές (ακέραιες) άρα θέλουν & στην scanf. Είναι σημαντικό να τα ξεκαθαρίσεις αυτά (παρόλο που είσαι διεφθαρμένος δικηγόρος και δεν έχεις ανάγκη ;-) και νομίζω περιγράφονται επαρκώς στο μάθημα 9 "Είσοδος/Έξοδος Δεδομένων"
Ουσιαστικά θα μπορούσαμε να πούμε ότι οι δομές είναι κάποια αντικείμενα με κάποιες ιδιότητες/χαρακτηριστικά;
Για κάποιο λόγο μου φαίνονται αρκετά πανομοιότυπα με τα objects σε αντικειμενοστραφή προγραμματισμό.
Είναι ο πρόγονος των κλάσεων στον αντικειμενοστρεφή προγραμματισμό...
H C (1970s) έφτιαξε τις δομές, η C++ (1980s) επέκτεινε τις δομές με πρόσθετη λειτουργικότητα, κατασκευάζοντας τις κλάσεις. Έπειτα το νερό κύλισε στο αυλάκι ;-)
Οπότε ξέχνα τα αντικειμενοστρεφή χαρακτηριστικά (δεν υπήρχαν) και είναι απλά ότι είπαμε, δηλαδή μια ομαδοποίηση μεταβλητών..
13:14 giati to name exei 80 xarakthres sto struct person? k antistoixa sto surname
Η αλήθεια είναι ότι έχει μια δόση υπερβολής το 80, αλλά χωράει και το όνομα ή το επώνυμο κάποιου Δανού πρίγκηπα στην ανάγκη.
δομές δεδομένων == κλάσεις προ c++?
Ναι, οι δομές επεκτάθηκαν στη C++ πρόσθεσαν λειτουργικότητα (τις μεθόδους) και ονομάστηκαν "κλάσεις".
[Λίγο για την ορολογία μόνο: "Δομές Δεδομένων" ομαδοποιούμε κάποιες οργανώσεις δεδομένων γύρω από μια μεθοδολογία, π.χ. στοίβα, ουρά, λίστα (κ.λπ.) που ακολουθεί και η μελέτη τους στην επόμενη σειρά (Δομές Δεδομένων σε C). Οπότε οι δομές δεδομένων (data structures) χρησιμοποιούν στη C τις δομές (structs) για να υλοποιηθούν.]
Δάσκαλε, γιατί στο τελευταίο παράδειγμα για να διαβάσεις το όνομα χρησιμοποίησες %s και όχι %ch; Φαντάζομαι επειδή ειναι struct, ναι αλλά στους αριθμούς δεν έκανες το ίδιο..
+Thanos Goulianos Παιδί μου, ξαναδές λίγο στο μάθημα 10: ruclips.net/video/Tkgw7dDEPqk/видео.html γύρω στην μέση τους προσδιοριστές όταν τυπώνουμε συμβολοσειρές (όχι χαρακτήρες, συμβολοσειρες)