...τι περιέχει αυτό το κεφάλαιο:
Στο κεφάλαιο αυτό θα δούμε κάποιες βασικές έννοιες περί τί είναι μια μεταβλητή και τι μια σταθερά! Ποιές οι διαφορές τους και πότε χρησιμοποιούνται. Επίσης θα μιλήσουμε και λίγο για την εντολή εκχώρησης και για τα σχόλια που μπορούμε να βάλουμε στο πρόγραμμά μας!
Μεταβλητές
Όσο θα διαβάζετε τα παρακάτω νομίζω πως είναι χρήσιμο να έχετε στο μυαλό σας πως οι μεταβλητές και οι σταθερές είναι απλά κουτάκια και τίποτα άλλο. Τις μεταβλητές θα τις βρείτε "σε κάθε πρόγραμμα" και για να είμαι ειλικρινής σε κάθε γλώσσα προγραμματισμού. Οι μεταβλητές διαθέτουν θέσεις μνήμης του υπολογιστή μας, οι οποίες όπως λέει και το όνομά τους μπορούν να αλλάζουν τιμή μέσα στο πρόγραμμα. Αυτό βέβαια δεν είναι πάντα χρήσιμο γι' αυτό υπάρχει και η άλλη κατηγορία των σταθερών που θα δούμε παρακάτω. Οι μεταβλητές συνήθως συμβολίζονται με λατινικά γράμματα πχ. x, y, z κτλ αλλά μπορείτε να δώσετε οποιοδήποτε άλλο όνομα θέλετε αρκεί να μην είναι δεσμευμένο με τα ονόματα εντολών της C. Καλό είναι να παίρνουν ένα αντιπροσωπευτικό όνομα και όχι τυχαίο, όπως μεταβλητή1, μεταβλητή2 κτλ. Έτσι, θα είναι πιο ευδιάκριτο το συνολικό πρόγραμμα και θα μπορείτε να το διαχειρίζεστε καλύτερα κάτι που είναι φοβερά χρήσιμο! Η ιδιότητα που έχουν είναι πως σε όλο το πρόγραμμα απο την αρχή μέχρι το τέλος μπορούν να παίρνουν διάφορες τιμές. Μια μεταβλητή κρατάει την τιμή της μέχρι να πάρει μια καινούρια τιμή η να καταστραφεί ο χώρος που τη περιέχει. Δηλαδή, αν υποθέσουμε πως μια μεταβλητή είναι ένα κουτί που έχει ακέραιο τότε μπορεί στην αρχή να ισούτε με 3 και μετά να προσθέσουμε 2 και να γίνει ίση με 5. Αυτό ΔΕΝ γίνεται με τις σταθερές!
Σημαντικό έγραψε:Οι μεταβλητές είναι κουτάκια που μπορούν να αλλαξουν τιμή κατά την διάρκεια του προγράμματος μας.
Για να πάρει μια μεταβλητή τιμή, θα πρέπει να την αναθέσουμε σε αυτή και αυτό συνήθως γίνεται με μια εντολή ανάθεσης που στην C είναι το '='. Συγκεκριμένα μια εντολή ανάθεσης έχει δυο μέρη. Το μπροστά μέρος που είναι η μεταβλητή στην οποία θα αναθέσουμε την τιμή και το πίσω μέρος που είναι η παράσταση την οποία συνήθως την υπολογίζουμε και την εκχωρούμε στην μεταβλητή. Πραδείγματα, εντολής - ανάθεσης είναι τα παρακάτω,
- Κώδικας: Επιλογή όλων
x = 13; /* το 13 εκχωρείτε στο κουτί ονόματι x */
y = (3+5) / 2; /* υπολογίζουμε την παράσταση (3+5) / 2 και το αποτέλεσμα εκχωρείτε στο κουτί y */
x = (x+4) – y; /* υπολογίζουμε την παράσταση (x+4) – y και το αποτέλεσμα εκχωρείτε στο κουτί y */
z = (4+5-567.1)^2 /* υπολογίζουμε την παράσταση (4+5-567.1)^2 και το αποτέλεσμα εκχωρείτε στο κουτί y */
κ.ο.κ.
Είναι σημαντικό να παρατηρήσετε πως στο πρώτο μέρος υπάρχει μια μόνο μεταβλητή και δεν επιτρέπεται να κάνουμε κάποια πράξη όπως,
- Κώδικας: Επιλογή όλων
x+y=32;
Αν γίνει αυτό ο compiler για ακόμη μια φορά θα χτυπήσει!
Μια μεταβητή όπως η x για παράδειγμα μπορεί να πάρει μια τιμή και αργότερα να πάρει μια άλλη. Αυτή η ιδιότητα είναι επιτρεπτή στις μεταβλητές μόνο και ουσιαστικά αυτός είναι ο κύριος λόγος που ξεχωρίζουν απο τις σταθερές. Δηλαδή,
- Κώδικας: Επιλογή όλων
χ = 12;
χ = 43;
χ = 54;
Η τελική τιμή του x είναι 54, όπως φαίνεται παραπάνω. Αυτό μπορείτε να το φανταστείτε ως εξής: Το x είναι ένα κουτάκι που αποθηκεύουμε την τιμή 12, μετά σβήνουμε το 12 και αποθηκεύουμε το 43 και τέλος σβήνουμε το 43 και τοποθετούμε με ανάλογο τρόπο το 54.
Σταθερές
Οι σταθερές απο την άλλη, είναι αμετάβλητες σε όλο το πρόγραμμά μας οπότε αρκεί μόνο μία εντολή ανάθεσης(συνήθως στην αρχή του προγράμματος) και απο κεί και πέρα η τιμή αυτή ισχύει για όλο το πρόγραμμα. Σε περίπτωση που καταλάθως προσπαθήσουμε να ξανα-εκχωρίζουμε πάλι μια τιμή θα έχουμε κάποιο error και θα χτυπήσει ο compiler. Είναι συνήθως λίγες σε ένα μικρό πρόγραμμα διατηρούν την τιμή που περιέχουν απο την αρχή μέχρι το τέλος. Συνήθως, τις χρησιμοποιούμε για να ορίζουμε στατικούς πίνακες, μιας και το μέγεθος ενός στατικού πίνακα είναι ανέπαφο σε όλο το πρόγραμμα. Για ακόμη μια φορά, καλό είναι να παίρνουν ένα αντιπροσωπευτικό όνομα και όχι τυχαίο όπως σταθερά1, σταθερά2, κτλ. για τους ίδιους περίπου λόγους που αναφέρθηκαν και παραπάνω! Δηλαδή, αν ορίσουμε μια σταθερά x ίση με 5 θα είναι ίση με 5 σε όλο το πρόγραμμα και νομίζω πως αν προσπαθήσουμε να προσθέσουμε 2 στην σταθερά να μας χτυπήσει ο compiler για error! Για να ορίσουμε μια σταθερά χρησιμοποιούμε την εντολή
- Κώδικας: Επιλογή όλων
#define <σταθερά>
και συνήθως όλες οι δηλώσεις σταθερών αναγράφονται ακριβώς μετά τις βιβλιοθήκες στην αρχή που προγράμματος μας. Προσέξτε πως δεν χρησιμοποιείται κάποιο = η οτιδήποτε άλλο και ΔΕΝ υπάρχει το ερωτηματικό στο τέλος!.
Σημαντικό έγραψε: Οι σταθερές είναι ανέπαφες σε όλο το πρόγραμμα και δεν αλλάζουν την αρχική τιμή τους.
Ένα παράδειγμα είναι το παρακάτω(έστω πως υπάρχουν και δυο βιβλιοθήκες),
- Κώδικας: Επιλογή όλων
#include <stdio.h>
#include <stdlib.h>
#define n 5
#define k 123
#define A 8
Μετά απο την παραπάνω δήλωση κάποια πράξη σαν
- Κώδικας: Επιλογή όλων
n = n+5;
n = k+k;
A = 3;
είναι λαθος και θα χρυπήσουν στο compiler!
Εντολή Εκχώρησης
Λογικά θα το γνωρίζετε και απο τα μαθηματικά οπότε είναι ένα κομμάτι που απλά μια ανάγνωση θα το περάσετε. Καλό όμως είναι να υπάρχει και να το διαβάσετε με όση περισσότερη προσοχή έχετε! -όχι επειδή το έγγραψα εγώ αλλά επειδή πολλές φορές τα λάθη είναι οι λεπτομέριες-
Η εντολή εκχώρησης στην C μας επιτρέπει να εκχωρήσουμε μια τιμή σε μια μεταβλητή και ποτέ σε μια σταθερά. Η εντολή αυτή είναι κλασικά το "=". Και χρησιμοποιείτε ως εξής:
- Κώδικας: Επιλογή όλων
<μεταβλητή> = <τιμή_εκχώρησης>
Αυτό που κάνει το παραπάνω είναι να εκχωρεί μια τιμή πχ. 4 στο κουτάκι με όνομα <μεταβλητή>. Η μεταβλητή μας μπορεί να είναι ακέραια, χαρακτήρας η ακόμη και πινακας!
Η τιμή_εκχώρησης με την μεταβλητή θα πρέπει να είναι ΙΔΙΟΥ ΤΥΠΟΥ
Με άλλα λόγια δεν μπορούμε να εκχωρήσουμε σε μια μεταβλητή τύπου int(ακέραιος) το όνομά μας!!! Προσοχή σε αυτό έτσι? Είναι πολύ συχνό λάθος...
Σχόλια
Δεν έχω να πώ πολλά εδώ απλά να αναφέρω τον τρόπο που μπορείτε να βάλετε σχόλια στο πρόγραμμά σας. Τα σχόλια είναι λέξεις-προτάσει που τα βάζετε ΟΠΟΥ ΘΕΛΕΤΕ ΕΣΕΙΣ και αυτό που κάνουν είναι να σας διευκολύνουν να το διαβάζετε καλύτερα! Τίποτα άλλο. Εάν δεν θέλετε μπορείτε να μην βάλετε καθόλου και το "σωστό" αυτό είναι σε προγράμματα 10-15 γραμμών. Οκ! Ίσως δεν είναι το σωστό αλλα δεν θα υπάρξει απολύτως κανένα πρόβλημα. Όταν όμως με το καλό φτάσετε σε επίπεδο να γράφετε 100-200-300 κοκ γραμμές κώδικα, ΧΩΡΙΣ σχόλια είναι ένα χάλι. Πραγματικά! Ένας άλλος λόγος για να βάζετε σχόλια είναι για να διευκολίνετε όχι μόνο τον εαυτό σας αλλα και τους άλλους που μπορεί κάποια στιμγή να διαβάσουνε τον κώδικά σας. Κάντε τον λοιπόν συντηρήσιμο! Τα σχόλια μπορουν να είναι σε ελληνικά -αγγλικά greeklish και σε ότι άλλη γλώσσα θέλετε. Δεν τον ενδιαφέρει τον compiler γιατί πολύ απλά τα διαγράφει μόλις πατήσετε "gcc αρχείο.c". Δεν τα διαγράφει μόνιμα μην φοβάστε! Απλά τα αγγνοεί. Πως μπαίνουν τα σχόλια? απλό...
- Κώδικας: Επιλογή όλων
/* σχόλιααα */
- Κώδικας: Επιλογή όλων
// σχόλιααα
Υπάρχουν δύο ειδών! Τα πρώτα είναι όταν θέλετε να βάλετε ένα μεγάλο κομμάτι σε σχόλια. πχ. μια παράγραφο ολόκληρη! Και το δεύτερο είναι μόνο για μια γραμμή. Δηλαδή ότι βρίσκεται στην ίδια γραμμή με το // είναι σε σχόλιο. Τα παραπάνω και παρακάτω κώδικας! Εμένα με βολεύουν τα πρώτα...