Σταθερές
Εάν δεν θέλετε να επιτρέπετε σε άλλους (ή στον εαυτό σας) να αλλάξουν τιμές υπαρχόντων μεταβλητών, μπορείτε να χρησιμοποιήσετε τη λέξη-κλειδί const.
Αυτό θα δηλώσει τη μεταβλητή ως “σταθερή”, που σημαίνει μη αλλάζονται και μόνο για ανάγνωση:
Παράδειγμα:
const int x = 5; x = 10; // θα προκαλέσει σφάλμα μεταγλώττισης (compile error)
Στο παραπάνω παράδειγμα, η μεταβλητή x δηλώνεται ως σταθερή με τη χρήση της λέξης-κλειδιού const. Αυτό σημαίνει ότι η τιμή της δεν μπορεί να αλλάξει από τη στιγμή που είναι δηλωμένη. Η προσπάθεια να αλλάξετε την τιμή της θα προκαλέσει σφάλμα μεταγλώττισης (compile error).
Θα πρέπει πάντα να δηλώνετε τη μεταβλητή ως σταθερή όταν έχετε τιμές που είναι απίθανο να αλλάξουν:
Παραδείγματα από τον κόσμο της προγραμματιστικής C όπου θα ήταν σκόπιμο να χρησιμοποιηθεί σταθερά:
const float PI = 3.141592; const int MAX_LENGTH = 100; const char NEWLINE = '\n';
Στα παραπάνω παραδείγματα, η τιμή των μεταβλητών πιθανότατα δεν θα αλλάξει κατά τη διάρκεια της εκτέλεσης του προγράμματος, επομένως είναι σκόπιμο να δηλώνονται ως σταθερές.
Σημειώσεις σχετικά με τις σταθερές
Όταν δηλώνετε μια μεταβλητή σταθερά, πρέπει να αναθέσετε μια τιμή σε αυτή:
Παράδειγμα
Έτσι:
const int minutesPerHour = 60;
Αυτό, όμως, δεν θα δουλέψει:
const int minutesPerHour; minutesPerHour = 60; // σφάλμα
Στο παραπάνω παράδειγμα, δηλώνετε τη μεταβλητή minutesPerHour ως σταθερή, αλλά δεν της δίνετε αρχική τιμή. Αυτό θα προκαλέσει σφάλμα μεταγλώττισης (compile error) όταν προσπαθήσετε να της αναθέσετε μια τιμή αργότερα.
Καλή πρακτική
Κάτι άλλο για τις σταθερές μεταβλητές, είναι ότι θεωρείται καλή πρακτική να τις δηλώνετε με κεφαλαία γράμματα. Δεν είναι απαραίτητο, αλλά είναι χρήσιμο για την αναγνωσιμότητα του κώδικα και συνηθισμένο από τους προγραμματιστές C:
const int MINUTES_PER_HOUR = 60;
Στο παραπάνω παράδειγμα, η σταθερά minutesPerHour δηλώνεται ως MINUTES_PER_HOUR. Αυτό κάνει τον κώδικα πιο ευανάγνωστο και καθιστά ευκολότερη την αντίληψη της σημασίας της σταθεράς.