Arxontoula Δημοσιεύτηκε Αύγουστος 9, 2007 #1 Κοινοποίηση Δημοσιεύτηκε Αύγουστος 9, 2007 Γεια σας, ποια είναι η διαφορά ανάμεσα στη #define speed 50 και της const int speed=50; ?? Link to comment Share on other sites More sharing options...
bsakel Αύγουστος 9, 2007 #2 Κοινοποίηση Αύγουστος 9, 2007 Το πρωτο δεν πιανει χωρο στην μνημη γιατι ο compiler αλλαζει ολες τις εμφανισεις του speed σε 50 πριν φτιαξει το εκτελεσιμο. Επισης με το πρωτο δεν δηλωνεις σταθερα απλα ειναι αυτο που ειπα δινεις οδηειες στον compiler(ή μηπως στον preprocessor δεν θυμαμαι αλλα και παλι το αποτελεσμα ειναι το ιδιο). Αυτο ξερω εγω εμπειρικα σαν διαφορα. Link to comment Share on other sites More sharing options...
Arxontoula Αύγουστος 9, 2007 Author #3 Κοινοποίηση Αύγουστος 9, 2007 Αχα. Χμμ και ποιο από τα δυο συναντιέται πιο συχνά ; Link to comment Share on other sites More sharing options...
AndreasAlex Αύγουστος 9, 2007 #4 Κοινοποίηση Αύγουστος 9, 2007 το δεύτερο φυσικά..... Link to comment Share on other sites More sharing options...
pan0s Αύγουστος 10, 2007 #5 Κοινοποίηση Αύγουστος 10, 2007 το δευτερό!! Link to comment Share on other sites More sharing options...
computinghs Αύγουστος 10, 2007 #6 Κοινοποίηση Αύγουστος 10, 2007 το δευτερο που ειναι και η σταθερη Link to comment Share on other sites More sharing options...
DarkSaga Αύγουστος 10, 2007 #7 Κοινοποίηση Αύγουστος 10, 2007 το δευτερο είναι για portability κώδικα και εύκολες αλλαγές μιας σταθεράςτο πρώτο είναι για να κάνεις καθαρότερο και πιο κατανοητό τον κώδικα σου ωστε τα νούμερα για αυτόν που τον διαβάζει να αποκτουν νόημα Link to comment Share on other sites More sharing options...
Dr.Paneas Αύγουστος 11, 2007 #8 Κοινοποίηση Αύγουστος 11, 2007 Μπορείτε να δώσετε ενα παραδειγμα χρησης του 1ου και ενα παραδειγμα χρησης του 2ου ωστε να φανει η διαφορα στην χρήση τους σε ενα προγραμμα ;Κατι ακομα, ποια η διαφορα της scanf("%s",&var) και της gets(var); Νομιζω οτι η δευτερη ειναι μονο για string. Αλλα σε ενα βιβλιο που διαβαζω ολη την ωρα τα βαζει ολα στο char και μετα τα αλλαζει με atoi σε numerical var μονο και μονο για να κανει χρηση του gets(). Ειναι λογικο ; Ποιο χρησιμοποιειται πιο συχνα ; Link to comment Share on other sites More sharing options...
kallileo Αύγουστος 11, 2007 #9 Κοινοποίηση Αύγουστος 11, 2007 Για gets() και scanf τις διαφορες μπορεις να δεις εδω:http://www.cplusplus.com/reference/clibrary/cstdio/scanf.htmlhttp://www.cplusplus.com/reference/clibrary/cstdio/gets.htmlΗ scanf μπορει να παρει πολλες παραμετρους διαφορων τυπων...επισης μπορεις να καθορισεις και τον χαρακτηρα που θα εχεις αναμεσα στις τιμες αναμεσα στις τιμες για διαβασμα.π.χ int i;char c;float fl;scanf("%d %s %f",&i,&c,&fl);Η gets διαβαζει μια σειρα απο χαρακτηρες και αποθηκευει αυτο που διαβαζει ως string.Οσο για define και const για μενα το ιδιο φαινεται πρακτικα ισως η διαφορα να ειναι σε αυτο που λεει ο bsakel πιο πανω.Απλως στην σχολη θυμαμαι δηλωναμε καποιες σταθερες οπως το PI συνηθως με define. Link to comment Share on other sites More sharing options...
Dr.Paneas Αύγουστος 11, 2007 #10 Κοινοποίηση Αύγουστος 11, 2007 Δηλαδη αν καταλαβα καλα, οταν εχω πχ οταν θελω μια αριθμητικη μεταβλητη, θα χρησιμοποιω την scanf . Το λεω αυτο γιατι μου φαινεται παραλογο το βιβλιο που εχω, σε καθε script πχ βαζει μια μεταβλητη char num και μια int number. Στην num διαβαζει το input μεσω gets() και μετα με atoi την περναει στην scanf. Δεν ειναι βλακια αυτο ; Βασικα, κατι ακομα, πως γινεται να βαλω περιορισμο στο input μια μεταβλητης ; Πχ αν πατησω 2222222222222222222222 αντι για 2, τοτε γινεται keyboard overflow και κρασαρει το προγραμμα. Κατι ακομα, τι εννοεις portability Saga ; Το ιδιο απλο ειναι να αλλαξεις την τιμη τοσο στην Define οσο και στην const. Εννοεις μηπως οτι η πρωτη, δεν παιζει σε αλλο PC ή κατι τετοιο με συμβατοτητα ; Link to comment Share on other sites More sharing options...
DarkSaga Αύγουστος 11, 2007 #11 Κοινοποίηση Αύγουστος 11, 2007 const βάζεις μια σταθερή τιμή που επαναλαμβάνεται στο πρόγραμμα πολλές φορέςκαι θέλεις αν την αλλάζεις αλλάζοντας τιμή σε ένα σημείο.ίσως σε μπέρδεψε ο όρος portability δεν ξέρω αν είναι απολύτως δόκιμοςτην εύκολη αλλαγή εννοούσα μια μεταβλητής χωρίς να διατρέχεις όλο τον κώδικα.το Portability εμπεριέχει και πολλά άλλαDefine κάνεις για να μην υπάρχει μεταβλητή αλλά σε compile time να παίρνει αριθμητική τιμή η ισοδύναμη έκφραση. Link to comment Share on other sites More sharing options...
Dr.Paneas Αύγουστος 17, 2007 #12 Κοινοποίηση Αύγουστος 17, 2007 Λοιπον παιδες, διαβασα το C for Dummies Wiley και λεει οτι τωρα πρεπει να παρω το C all in one reference for dummies . Εχετε να προτινετε κανενα αλλο ; Link to comment Share on other sites More sharing options...
kallileo Αύγουστος 19, 2007 #13 Κοινοποίηση Αύγουστος 19, 2007 Αν θες να αγορασεις τοτε...Αυτο που με ειχαν δωσει στην σχολη ηταν το "C για Μηχανικους" D'Orazio Εκδοσεις Τζιολα.Βιβλιο με balls που λεμε... Link to comment Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.