Στόχοι εργαστηρίου 01
Εξοικείωση με:
- Πίνακες και δείκτες
- Δυναμικές δομές δεδομένων
- Πέρασμα παραμέτρων
- Ξεχωριστή μεταγλώττιση
Πίνακες και δείκτες
Δυναμικές δομές δεδομένων
Για το σπίτι
- Διαγράψτε το μεγαλύτερο στοιχείο από τη λίστα
- Συνενώστε δύο λίστες
- Συνενώστε τα μονά στοιχεία δύο λιστών, “πετώντας τα ζυγά” (μην φτιάξετε καινούριους κόμβους, συνδέστε κατάλληλα τους ήδη υπάρχοντες και απελευθερώστε όσους δεν χρειάζεστε)
Πέρασμα παραμέτρων
- Ανοίξτε τη διαφάνεια 47 της πρώτης διάλεξης του μαθήματος “Δείκτες και αναφορές σε σταθερές (v)”
- Γράψτε την δομή person και αρχικοποιήστε την κατάλληλα
- Υλοποιήστε συνάρτηση call που θα τυπώνει το τηλέφωνο περνώντας την παράμετρο person by value
- Προσπαθήστε μέσα στην call να αλλάξετε την τιμή του τηλεφώνου, τι παρατηρείτε;
- Υλοποιήστε συνάρτηση call που θα τυπώνει το τηλέφωνο περνώντας την παράμετρο person by reference
- Προσπαθήστε μέσα στην call να αλλάξετε την τιμή του τηλεφώνου, τι παρατηρείτε;
- Η συνάρτηση call δεν θέλουμε να επιτρέπει την αλλαγή της τιμής του τηλεφώνου αλλά δεν θέλουμε να “πληρώσουμε” την αντιγραφή της δομής person που επιβάλει το πέρασμα by value. Τι μπορούμε να κάνουμε;
Για το σπίτι
- Πώς επηρεάζεται το πρόγραμμά μας αν η τιμή επιστροφής μιας συνάρτησης είναι by value ή by reference; Πότε χρειαζόμαστε κάθε περίπτωση;
Ξεχωριστή μεταγλώττιση
Η ξεχωριστή μεταγλώττιση ΔΕΝ δουλεύει στο περιβάλλον novice. Μπορείτε να τη δοκιμάσετε σε μια δική σας εγκατάσταση compiler πχ με το CLion.