αν και ο σταματίου έχει αρχισει να γίνεται αετός θα δωσω και εγω την μνεία μου μπας και οφεληθει
καποιος καινουργιος συναδελφος μας στην C.
Οταν δηλώνεις μεταβλητές με την =>
τυπος_δεδομενων ονομα_μεταβλητης ;
Για παράδειγμα
- Κώδικας: Επιλογή όλων
int x; // δηλωση ακεραιης μεταβλητης με ονομα x
το int ειναι δεσμευμένη λέξη για ακέραιους τυπους στην C. Οταν λοιπον κάνεις την παραπάνω δήλωση ουσιαστικα λες στον μεταγλωτιστη να σου δεσμευσει μνημη ιση με το μεγεθος του τυπου δεδομενων που θα χρησιμοποιησεις. ΣΤην προκειμενη περιπτωση ιση με εναν integer θα ειναι η μνήμη που θα δεσμευτει. Επομενως σε αυτο το σημειο λεμε πως "το x πλεον έχει μια αριστερή τιμή" γενικα καθε μεταβλητη έχει 2 τιμές μια αριστερή και μια δεξια και η βασικη διαφορα με τους δεικτες ειναι πως και οι 2 τους τιμες (αριστερη/δεξια αποτελουν διευθυνσεις!!!)... η δεξιά σε μια κανονικη μεταβλητη τωρα δίνεται με τον τελεστη εκχώρησης ''='' και αποτελει την
πραγματικη τιμη της μεταβλητης ενω η αριστερη τιμή δίνεται αμεσως μολις δηλώσεις την μεταβλητή σου. Αν δεν αρχικοποιήσεις την μεταβλητη εξαρχης δεν υπαρχει προβλημα... αν δεν την δηλωσεις καθολου ομως και πας να την χρησιμοποιησεις μετα υπάρχει. Ο μεταγλωττιστης θα σου κτυπησει.
Επομενως υπάρχει μια διευθυνση στην μνήμη για την μεταβλητη που έχει δηλωθει και σε αυτην ακριβως την διευθυνση μνημης θα αποθηκευτεί μεσω της scanf αυτο που θα δώσει ο χρήστης μετα το μηνυμα απο μια printf.
Για παραδειγμα =>
- Κώδικας: Επιλογή όλων
int x;
printf("Dwste to x: \n");
scanf("%d",&x); //αυτο που δίνεις ειναι %d => ακέραιος και θα αποθηκευτει
// στην διευθυνση μνημης που έχει δεσμευτει για το x οταν το δηλωνες.
Γνώσεις ⇛ 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]