Δείκτες (Pointers) – Δομές (Structs)
Pointers Δείκτης είναι μια μεταβλητή που περιέχει τη διεύθυνση μιας άλλης μεταβλητής. Χρησιμοποιούμε δείκτες γιατί: Μας επιτρέπουν να διαχειριστούμε καλύτερα τη μνήμη που χρειάζεται να δεσμεύσει το πρόγραμμα μας Μπορούμε να δημιουργήσουμε πιο σύνθετες δομές δεδομένων (Λίστες, Δένδρα κλπ)
Δήλωση pointer Τύπος δεδομένων *όνομα; π.χ. int *p; char *p;
Τελεστές Τελεστής Διεύθυνσης & Τελεστής έμμεσης αναφοράς Δίνει τη διεύθυνση μιας μεταβλητής. π.χ. int *p; int x; p=&x; Τελεστής έμμεσης αναφοράς Μας δίνει το περιεχόμενο της διεύθυνσης στην οποία δείχνει ο δείκτης
Παράδειγμα 1
Δείκτες και Πίνακες Μπορούμε να δημιουργήσουμε μεταβλητού μεγέθους πίνακες με τη χρήση των δεικτών
Πίνακες δύο διαστάσεων
Δομές (Structs) Δομή είναι μια συλλογή από μία ή περισσότερες μεταβλητές, πιθανώς διαφορετικών τύπων, που ομαδοποιούνται με ένα όνομα για ευκολότερο χειρισμό. Σύνταξη struct όνομα { δηλώσεις μεταβλητών }; Όταν δηλωθεί η δομή τότε μπορούμε να τη χειριστούμε σαν τους άλλους τύπους μεταβλητών
Παράδειγμα 1 Να δημιουργήσετε το πρόγραμμα που χρησιμοποιεί τη δομή student για να δηλώσει τα ονόματα και τους βαθμούς 2 μαθητών. Στη συνέχεια το πρόγραμμα τυπώνει το όνομα του μαθητή με το μεγαλύτερο βαθμό καθώς και το μέσο όρο των βαθμών.
Παράδειγμα 1 ( C )
Επεξήγηση student s1, s2; Δηλώνει δύο μεταβλητές τύπου student s1.onoma Αναφέρεται στη μεταβλητή onoma που ανήκει στην ομάδα s1.
Παράδειγμα 1 ( C++ )