Garrus έγραψε:Ευχαριστω πολυ παιδες!
Τζιζους migf1, δεν χρειαζοταν/ζητησα να ξαναγραψεις ολο τον κωδικα μου... ελπιζω να το εκανες ευχαριστα/για να περασει η ωρα.
Εννοείται!
(δεν τον ξανάγραψα από την αρχή βρε συ, τον δικό σου αραίωσα
έγραψε:
Ερωτησεις:
-Γιατι προτιμαται η δομη σε main.c , header.c , header.h?
Οι ονομασίες είναι τυχαίες προφανώς, μπορείς να τα ονομάσεις όπως θέλεις τα αρχεία σου. Είθισται όμως σε προγράμματα με πολλά αρχεία πηγαίου κώδικα αυτό που περιέχει τη συνάρτηση main() να ονομάζεται: main.c. Είναι καλό επίσης τα υπόλοιπα αρχεία να είναι όσο το δυνατόν πιο εξειδικευμένα σε μια δουλειά, για αυτό σου πρότεινα να βγάλεις από το: queue.c συναρτήσεις που δεν άπτονται άμεσα με τη διαχείριση της ουράς (αλλά φυσικά είναι προαιρετικό, δικό σου είναι το πρόγραμμα το κάνεις όπως θέλεις
έγραψε:Νομιζα οτι τα .h ειναι γενικα τα "συμπληρωματικα" ως προς το .c που περιεχει την main σου.
Στα header files (.h) συνήθως ορίζουμε πρόσθετους τύπους, σταθερές, δομές δεδομένων, κλπ τα οποία σκοπεύουμε να τα χρησιμοποιήσουμε σε περισσότερα του ενός .c αρχεία. Οπότε σε αυτά τα .c αρχεία θα κάνουμε #include το .h αρχείο
έγραψε:έγραψε:στις void συναρτήσεις βάζε ένα σκέτο: return; πριν της τερματίσεις, όπως επίσης βάζε void ανάμεσα σττις παρενθέσεις όταν ορίζεις συναρτήσεις που δεν παίρνουν ορίσματα (στα έχω φτιάξει αυτά στον παραπάνω κώδικα).
Γιατι ομως;
Γιατί έτσι ορίζουν όλες οι αναθεωρήσεις της γλώσσας (C89 και C99) μετά από την αρχική της έκδοση (την K&R). Βοηθάει πολύ στο debugging και στο ευανάγνωστο του κώδικα (είτε από σένα είτε από άλλους που ενδεχομένως κληθούν να διαβάσουν τον κώδικά σου). Βοηθάει επισης και τους compilers να σου δίνουν πιο σαφή error messages ή/και warnings.


