ΥΠΟΛΟΓΙΣΤΕΣ ΙI. Άδειες Χρήσης. Δείκτες Διδάσκοντες: Αν. Καθ. Δ. Παπαγεωργίου, Αν. Καθ. Ε. Λοιδωρίκης

Σχετικά έγγραφα
ΥΠΟΛΟΓΙΣΤΕΣ ΙΙ. Τι περιλαμβάνει μια μεταβλητή; ΔΕΙΚΤΕΣ. Διεύθυνση μεταβλητής. Δείκτης

ΥΠΟΛΟΓΙΣΤΕΣ ΙI. Άδειες Χρήσης. Δομή του προγράμματος. Διδάσκοντες: Αν. Καθ. Δ. Παπαγεωργίου, Αν. Καθ. Ε. Λοιδωρίκης

ΥΠΟΛΟΓΙΣΤΕΣ ΙI. Άδειες Χρήσης. Συναρτήσεις II Διδάσκοντες: Αν. Καθ. Δ. Παπαγεωργίου, Αν. Καθ. Ε. Λοιδωρίκης

ΥΠΟΛΟΓΙΣΤΕΣ ΙI. Άδειες Χρήσης. Τύποι δεδομένων, μεταβλητές, πράξεις. Διδάσκοντες: Αν. Καθ. Δ. Παπαγεωργίου, Αν. Καθ. Ε. Λοιδωρίκης

ΥΠΟΛΟΓΙΣΤΕΣ ΙI. Άδειες Χρήσης. Εντολές for, while, do-while Διδάσκοντες: Αν. Καθ. Δ. Παπαγεωργίου, Αν. Καθ. Ε. Λοιδωρίκης

Μικροβιολογία & Υγιεινή Τροφίμων

Υπολογιστές Ι. Άδειες Χρήσης. Τύποι δεδομένων. Διδάσκοντες: Αν. Καθ. Δ. Παπαγεωργίου, Αν. Καθ. Ε. Λοιδωρίκης

Υπολογιστές Ι. Άδειες Χρήσης. Δομή του προγράμματος. Διδάσκοντες: Αν. Καθ. Δ. Παπαγεωργίου, Αν. Καθ. Ε. Λοιδωρίκης

Υπολογιστές Ι. Άδειες Χρήσης. Πολυδιάστατοι πίνακες. Διδάσκοντες: Αν. Καθ. Δ. Παπαγεωργίου, Αν. Καθ. Ε. Λοιδωρίκης

ΥΠΟΛΟΓΙΣΤΕΣ ΙI. Άδειες Χρήσης. Εντολή if. Διδάσκοντες: Αν. Καθ. Δ. Παπαγεωργίου, Αν. Καθ. Ε. Λοιδωρίκης

Ιστορία της μετάφρασης

Προγραμματισμός Υπολογιστών & Υπολογιστική Φυσική

Εκκλησιαστικό Δίκαιο. Ενότητα 10η: Ιερά Σύνοδος της Ιεραρχίας και Διαρκής Ιερά Σύνοδος Κυριάκος Κυριαζόπουλος Τμήμα Νομικής Α.Π.Θ.

Γενικά Μαθηματικά Ι. Ενότητα 12: Κριτήρια Σύγκλισης Σειρών. Λουκάς Βλάχος Τμήμα Φυσικής ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ

Προγραμματισμός Υπολογιστών & Υπολογιστική Φυσική

Θεσμοί Ευρωπαϊκών Λαών Ι 19 ος -20 ος αιώνας

Εκκλησιαστικό Δίκαιο

Θεσμοί Ευρωπαϊκών Λαών Ι 19 ος -20 ος αιώνας

ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ. Πιθανότητες. Συνδυαστική Ανάλυση Διδάσκων: Επίκουρος Καθηγητής Κωνσταντίνος Μπλέκας

Λογιστική Κόστους Ενότητα 12: Λογισμός Κόστους (2)

Προγραμματισμός H/Y Ενότητα 4: Δείκτες. Επικ. Καθηγητής Συνδουκάς Δημήτριος Τμήμα Διοίκησης Επιχειρήσεων (Γρεβενά)

Γενικά Μαθηματικά Ι. Ενότητα 15: Ολοκληρώματα Με Ρητές Και Τριγωνομετρικές Συναρτήσεις Λουκάς Βλάχος Τμήμα Φυσικής

Εκκλησιαστικό Δίκαιο

Ηλεκτρονικοί Υπολογιστές I

ΓΕΝΙΚΗ ΚΑΙ ΑΝΟΡΓΑΝΗ ΧΗΜΕΙΑ

Λογισμός 3. Ενότητα 19: Θεώρημα Πεπλεγμένων (γενική μορφή) Μιχ. Γ. Μαριάς Τμήμα Μαθηματικών ΑΝΟΙΚΤΑ ΑΚΑ ΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ

Ηλεκτρονικοί Υπολογιστές

Ηλεκτρονικοί Υπολογιστές

Εφαρμοσμένη Στατιστική

Υπολογιστές Ι. Άδειες Χρήσης. Εισαγωγή. Διδάσκοντες: Αν. Καθ. Δ. Παπαγεωργίου, Αν. Καθ. Ε. Λοιδωρίκης

Τίτλος Μαθήματος: Μαθηματική Ανάλυση Ενότητα Γ. Ολοκληρωτικός Λογισμός

Εργαστήριο Χημείας Ενώσεων Συναρμογής

Τίτλος Μαθήματος: Ηλεκτρονικοί Υπολογιστές IΙΙ. Διδάσκων: Επίκουρος Καθηγητής Αθανάσιος Σταυρακούδης

Εργαστήριο Χημείας Ενώσεων Συναρμογής

Ιστορία της μετάφρασης

Ηλεκτρισμός & Μαγνητισμός

Διεθνείς Οικονομικές Σχέσεις και Ανάπτυξη

Προγραμματισμός Υπολογιστών & Υπολογιστική Φυσική

Προγραμματισμός Υπολογιστών & Υπολογιστική Φυσική

Εισαγωγή στους Αλγορίθμους

Θεσμοί Ευρωπαϊκών Λαών Ι 19 ος -20 ος αιώνας

Υπολογιστές Ι. Άδειες Χρήσης. Μεταβλητές και πράξεις. Διδάσκοντες: Αν. Καθ. Δ. Παπαγεωργίου, Αν. Καθ. Ε. Λοιδωρίκης

Εργαστήριο Χημείας Ενώσεων Συναρμογής

Θερμοδυναμική. Ανοικτά Ακαδημαϊκά Μαθήματα. Πίνακες Νερού σε κατάσταση Κορεσμού. Γεώργιος Κ. Χατζηκωνσταντής Επίκουρος Καθηγητής

Εκκλησιαστικό Δίκαιο

ΥΠΟΛΟΓΙΣΤΕΣ ΙI. Άδειες Χρήσης. Συναρτήσεις I Διδάσκοντες: Αν. Καθ. Δ. Παπαγεωργίου, Αν. Καθ. Ε. Λοιδωρίκης

Ηλεκτρισμός & Μαγνητισμός

Εισαγωγή στους Αλγορίθμους

ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ ΦΥΣΙΚΟΧΗΜΕΙΑ ΙΙ

Εισαγωγή στην Διοίκηση Επιχειρήσεων

Αξιολόγηση μεταφράσεων ιταλικής ελληνικής γλώσσας

Μαθηματικά Διοικητικών & Οικονομικών Επιστημών

Παράκτια Τεχνικά Έργα

Λογιστική Κόστους Ενότητα 8: Κοστολογική διάρθρωση Κύρια / Βοηθητικά Κέντρα Κόστους.

Εκκλησιαστικό Δίκαιο

Μαθηματικά και Φυσική με Υπολογιστές

Οικονομετρία. Εξειδίκευση του υποδείγματος. Μορφή της συνάρτησης: Πολυωνυμική, αντίστροφη και αλληλεπίδραση μεταβλητών

Εισαγωγή στην Διοίκηση Επιχειρήσεων

Αντικειμενοστρεφής Προγραμματισμός Ενότητα 7: Υπερφόρτωση τελεστών. Επικ. Καθηγητής Συνδουκάς Δημήτριος Τμήμα Διοίκησης Επιχειρήσεων (Γρεβενά)

Προγραμματισμός Υπολογιστών & Υπολογιστική Φυσική

Γενικά Μαθηματικά Ι. Ενότητα 14: Ολοκλήρωση Κατά Παράγοντες, Ολοκλήρωση Ρητών Συναρτήσεων Λουκάς Βλάχος Τμήμα Φυσικής

Υπολογιστές Ι. Άδειες Χρήσης. Συναρτήσεις. Διδάσκοντες: Αν. Καθ. Δ. Παπαγεωργίου, Αν. Καθ. Ε. Λοιδωρίκης

ΣΥΣΤΗΜΑΤΑ ΗΛΕΚΤΡΙΚΗΣ ΕΝΕΡΓΕΙΑΣ ΙIΙ

ΣΥΣΤΗΜΑΤΑ ΗΛΕΚΤΡΙΚΗΣ ΕΝΕΡΓΕΙΑΣ ΙIΙ

ΣΥΣΤΗΜΑΤΑ ΗΛΕΚΤΡΙΚΗΣ ΕΝΕΡΓΕΙΑΣ ΙIΙ

Οικονομία των ΜΜΕ. Ενότητα 7: Μορφές αγοράς και συγκέντρωση των ΜΜΕ

Ενδεικτικές λύσεις ασκήσεων διαχείρισης έργου υπό συνθήκες αβεβαιότητας

Διπλωματική Ιστορία Ενότητα 2η:

Γενικά Μαθηματικά Ι. Ενότητα 1: Συναρτήσεις και Γραφικές Παραστάσεις. Λουκάς Βλάχος Τμήμα Φυσικής ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ

Ανοικτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Αθήνας. Βιοστατιστική (Ε) Ενότητα 3: Έλεγχοι στατιστικών υποθέσεων

Ανοικτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Αθήνας. Βιοστατιστική (Ε) Ενότητα 1: Καταχώρηση δεδομένων

ΥΠΟΛΟΓΙΣΤΕΣ ΙI. Άδειες Χρήσης. Μονοδιάστατοι πίνακες Διδάσκοντες: Αν. Καθ. Δ. Παπαγεωργίου, Αν. Καθ. Ε. Λοιδωρίκης

Θεσμοί Ευρωπαϊκών Λαών Ι 19 ος -20 ος αιώνας

Διοίκηση Εξωτερικής Εμπορικής Δραστηριότητας

Οδοποιία IΙ. Ενότητα 14: Υπόδειγμα σύνταξης τευχών θέματος Οδοποιίας. Γεώργιος Μίντσης ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ

Μηχανολογικό Σχέδιο Ι

Διπλωματική Ιστορία. Ενότητα 12η: Ο Β Παγκόσμιος Πόλεμος Η Ευρώπη. του Hitler Ιωάννης Στεφανίδης, Καθηγητής Τμήμα Νομικής Α.Π.Θ.

Οντοκεντρικός Προγραμματισμός

Ανοικτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Αθήνας. Βιοστατιστική (Ε) Ενότητα 2: Περιγραφική στατιστική

Γενικά Μαθηματικά Ι. Ενότητα 17: Αριθμητική Ολοκλήρωση, Υπολογισμός Μήκους Καμπύλης Λουκάς Βλάχος Τμήμα Φυσικής ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ

Ηλεκτρονικοί Υπολογιστές II

Εισαγωγή στην Διοίκηση Επιχειρήσεων

ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ. Κβαντική Θεωρία ΙΙ. Συστήματα Πολλών Σωματίων Διδάσκων: Καθ. Λέανδρος Περιβολαρόπουλος

Τίτλος Μαθήματος: Ηλεκτρονικοί Υπολογιστές IΙΙ. Διδάσκων: Επίκουρος Καθηγητής Αθανάσιος Σταυρακούδης

Βασικές Αρχές Φαρμακοκινητικής

Κβαντική Επεξεργασία Πληροφορίας

Οικονομία των ΜΜΕ. Ενότητα 9: Εταιρική διασπορά και στρατηγικές τιμολόγησης

Διοικητική Λογιστική

Γενικά Μαθηματικά Ι. Ενότητα 5: Παράγωγος Πεπλεγμένης Συνάρτησης, Κατασκευή Διαφορικής Εξίσωσης. Λουκάς Βλάχος Τμήμα Φυσικής

Μαθηματικά Διοικητικών & Οικονομικών Επιστημών

Εφαρμοσμένη Στατιστική

Εισαγωγή στην Διοίκηση Επιχειρήσεων

Φ 619 Προβλήματα Βιοηθικής

ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ. Κβαντική Θεωρία ΙΙ. Σωμάτιο σε Ηλεκτρομαγνητικό Πεδίο Διδάσκων: Καθ. Λέανδρος Περιβολαρόπουλος

Διδακτική της Περιβαλλοντικής Εκπαίδευσης

Ηλεκτρονικοί Υπολογιστές IV

Φ 619 Προβλήματα Βιοηθικής

Γενικά Μαθηματικά Ι. Ενότητα 9: Κίνηση Σε Πολικές Συντεταγμένες. Λουκάς Βλάχος Τμήμα Φυσικής ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ

ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ

Γενικά Μαθηματικά Ι. Ενότητα 13: Ακτίνα Σύγκλισης, Αριθμητική Ολοκλήρωση, Ολοκλήρωση Κατά Παράγοντες. Λουκάς Βλάχος Τμήμα Φυσικής

Transcript:

ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ Άδειες Χρήσης ΥΠΟΛΟΓΙΣΤΕΣ ΙI Δείκτες Διδάσκοντες: Αν Καθ Δ Παπαγεωργίου, Αν Καθ Ε Λοιδωρίκης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons Για εκπαιδευτικό υλικό, όπως εικόνες, που υπόκειται σε άλλου τύπου άδειας χρήσης, η άδεια χρήσης αναφέρεται ρητώς

ΥΠΟΛΟΓΙΣΤΕΣ ΙΙ Τι περιλαμβάνει μια μεταβλητή; ΔΕΙΚΤΕΣ Πρώτα να δούμε τι ακριβώς συμπεριλαμβάνει μια μεταβλητή τύπος Καθορίζει το μέγεθος στην μνήμη σε Bytes τιμή Η αριθμητική τιμή που αποθηκεύεται στην μνήμη Τι ξεχάσαμε; Το πού αποθηκεύεται στην μνήμη διεύθυνση Κάθε μεταβλητή χαρακτηρίζεται από 3 ιδιότητες: τύπος, τιμή, διεύθυνση 1 2 Διεύθυνση μεταβλητής Δείκτης Η ανάθεση της διεύθυνσης μιας μεταβλητής γίνεται κατα την εκτέλεση Ο χρήστης δεν γνωρίζει που αποθηκεύεται Μήπως όμως θα πρεπε; Η C++ μας δίνει την δυνατότητα να γνωρίζουμε την διεύθυνση μιας μεταβλητής, και να χρησιμοποιήσουμε αυτή την γνώση για καλύτερο προγραμματισμό Λίστες, βάσεις δεδομένων, γραφικά, λειτουργικά συστήματα Δείκτης: μια νέα μεταβλητή, που αντί για αριθμητικές τιμές, αποθηκεύει διευθύνσεις μνήμης Μεταβλητή που «δείχνει» σε κάποια θέση μνήμης Συστατικά δείκτη Τύπος Καθορίζει τι τύπου μεταβλητή έχει αποθηκευθεί εκεί που δείχνει (πχ int ή double) Τιμή Μια διεύθυνση μνήμης Για να έχει νόημα ένας δείκτης θα πρέπει να «δείχνει» σε κάποια υπάρχουσα μεταβλητή 3 4

Δήλωση δείκτη Ανάθεση τιμών σε δείκτη Χρησιμοποιείται ο τελεστής αστέρι «*» Δυστυχώς είναι το ίδιο με τον τελεστή πολλαπλασιασμού, οπότε θέλει προσοχή Δηλώνεται όπως και οι απλές μεταβλητές αλλά με το αστέρι μπροστά Παράδειγμα: δηλώστε δύο ακέραιους και δύο δείκτες σε ακέραιους int n, m; int *k, *j; 5 Αναθέτουμε σε δείκτη την διεύθυνση μιας μεταβλητής Η μεταβλητή αυτή πρέπει: να υπάρχει να είναι του ίδιου τύπου Η ανάθεση γίνεται με τον τελεστή «&» Παράδειγμα: δηλώστε δύο ακέραιους και δύο δείκτες σε ακέραιους Κατόπιν αναθέστε στους δείκτες τις διευθύνσεις των ακεραίων int n, m; int *k, *j; j = &m; 6 Πράξεις με δείκτες Πράξεις με δείκτες Μια βασική λειτουργία/πράξη με δείκτες είναι: ποια η τιμή της μεταβλητής εκεί πού δείχνει ένας δείκτης; Ο τελεστής «*» χρησιμοποιείται για να μας δώσει την αριθμητική τιμή στην θέση που δείχνει ο δείκτης int n, m; int *k, *j; n = 7; m = 8; Επιτρέπεται η απευθείας ανάθεση της διεύθυνσης ενός δείκτη σε άλλον δείκτη δηλαδή επιτρέπεται το «=» int n, m; int *k, *j; n = 7; m = 8; j = k; j = &m; cout << *k << *j <<endl; 7 cout << *k << *j <<endl; Τι αποτέλεσμα θα δώσει το παραπάνω; 8

Ανάθεση με δείκτες ΠΡΟΣΟΧΗ στην ανάθεση με δείκτες Μπορούμε να αναθέτουμε αριθμητική τιμή σε μεταβλητές Απευθείας (όπως κάναμε μέχρι τώρα) Μέσω δεικτών προς τις μεταβλητές αυτές int n; int *k; Τα δύο παρακάτω είναι ουσιαστικά ταυτόσημα n = 7; cout <<n<<*k<<endl; int n; int *k; *k =7; cout <<n<<*k<<endl; 9 int n; int *k; Τα δύο παρακάτω μοιάζουν Το ένα όμως είναι τραγικά λάθος Ποιο και γιατί; *k =7; cout <<n<<*k<<endl; int n; int *k; *k =7; cout <<n<<*k<<endl; Το δεύτερο: αναθέτει την τιμή 7 στην διεύθυνση όπου δείχνει ο δείκτης k, πριν όμως καθοριστεί το πού δείχνει ο k Άρα κατά την εκτέλεση του *k =7, 10 το 7 θα αποθηκευτεί σε κάποια τυχαία θέση στην μνήμη Πολύ κακό!! Ανακεφαλαίωση: Τελεστές δεικτών Παράδειγμα #1: Διάταξη μεταβλητών και δεικτών στην μνήμη (1/3) Εισάγαμε δύο νέους τελεστές για δείκτες Τελεστής «*» Κατά την δήλωση του τύπου επισημαίνει ότι είναι δείκτης Μέσα στο πρόγραμμα σημαίνει: «δώσε την τιμή στην διεύθυνση που δείχνει ο δείκτης» Τελεστής «&» «δώσε την διεύθυνση της μεταβλητής» *k = m; Βάλε την τιμή της m εκεί όπου δείχνει ο k m = *k; Δώσε στην m την τιμή στην οποία δείχνει ο k k = &m; Δώσε στον k την διεύθυνση του m int n1, n2, n3; int *k1, *k2; k1 = &n1; k2 = &n2; n1 = 5; *k2 = 10; n3 = 15; θέση Α1 Α2 Α3 Α4 Α5 όνομα n1 n2 n3 k1 k2 τιμή 5 10 15 A1 A2 Προτεραιότητα: Οι τελεστές * και & έχουν την υψηλότερη προτεραιότητα, μετά τους ++, --, - εάν δεν είμαστε σίγουροι, χρησιμοποιούμε παρενθέσεις 11 12

Παράδειγμα #1: Διάταξη μεταβλητών και δεικτών στην μνήμη (2/3) Παράδειγμα #1: Διάταξη μεταβλητών και δεικτών στην μνήμη (3/3) *K1 = 1; *K2 = 2; θέση Α1 Α2 Α3 Α4 Α5 όνομα n1 n2 n3 k1 k2 τιμή 1 2 15 A1 A2 k1 = &n3; *K1 = 11; θέση Α1 Α2 Α3 Α4 Α5 όνομα n1 n2 n3 k1 k2 τιμή 1 2 11 A3 A2 13 14 Παράδειγμα #2: βρείτε τις σωστές και λάθος εκφράσεις Δείκτες και πίνακες #include <iostream> using namespace std; double a1, a2; double *b1, *b2; a1,a2 b1 = &a1; σωστή - - b2 = &a2; σωστή - - *a1 = 33; λάθος: ο α1 δεν είναι δείκτης a1 = 22; σωστή 22 - a2 = 20; σωστή 22 20 b2 = *a1; λάθος: το *α1 δεν έχει νόημα b2 = a1; λάθος: ο b2 είναι δείκτης, o a1 μεταβλητή b2 = 40; λάθος: ο b2 είναι δείκτης, οχι μεταβλητή b2 = b1; σωστή 22 20 *b2 = 40; σωστή 40 20 *b1 = 30; σωστή 30 1520 a2 = *b1; σωστή 30 30 Πολύ στενή σχέση Τι είναι πίνακας; Ομαδοποίηση μεταβλητών που καταλαμβάνουν διαδοχικές θέσεις στην μνήμη Στην C++ το όνομα του πίνακα (χωρίς τις αγκύλες) είναι ένας δείκτης προς την διεύθυνση του πρώτου στοιχείου int n[10]; n[0] = 100; int n[10]; int *k; k = n; (ή k = &n[0];) *k = 100; 16

Προσπέλαση πινάκων με δείκτες Ποιά η διαφορά δεικτών και πινάκων; Αφού γνωρίζουμε την διεύθυνση του πρώτου στοιχείου του πίνακα, μπορούμε να χρησιμοποιήσουμε μόνο δείκτες για την προσπέλασή του; Στην C++ επιτρέπεται η αριθμητική δεικτών τo k+1 «δείχνει» στην δεύτερη θέση (4 bytes παρακάτω εαν δείχνει σε ακέραιο), το k+2 στην τρίτη, κοκ int n[10]; n[0] = 100; n[1] = 200; n[2] = 300; int n[10]; int *k; k = n; *k = 100; *(k+1) = 200; *(k+2) = 300; Δηλαδή, το k+1 &n[1]; k+2 &n[2]; κτλ 17 Πολύ μικρή Στην πράξη, επιτρέπεται να χρησιμοποιούμε αγκύλες και στους δείκτες, σαν να ήταν πίνακες int n[10]; int m, *k; k=n; n[2] = 300; m = n[2]; m = *(k+2); m = k[2]; ισοδύναμες εκφράσεις Η μόνη ουσιαστική διαφορά δείκτη και πίνακα; Στον δείκτη επιτρέπεται να αλλάξει τιμή: πχ k=k+1; Στον πίνακα δεν επιτρέπεται: το n=n+1; είναι λάθος 18 Παράδειγμα #3: ανάθεση τιμών σε πίνακα χρησιμοποιώντας δείκτες Γράψτε κώδικα που εκτελεί το παρακάτω χρησιμοποιώντας αποκλειστικά αριθμητική δεικτών int n[100]; for (int i=0; i<100; ++i) n[i] = 10 * i; Λύση int n[100]; int *k; k = n; for (int i=0; i<100; ++i){ *k = 10 * i; ++k; 19

Χρηματοδότηση Τέλος Ενότητας Το παρόν εκπαιδευτικό υλικό έχει αναπτυχθεί στα πλαίσια του εκπαιδευτικού έργου του διδάσκοντα Το έργο «Ανοικτά Ακαδημαϊκά Μαθήματα στο Πανεπιστήμιο Ιωαννίνων» έχει χρηματοδοτήσει μόνο τη αναδιαμόρφωση του εκπαιδευτικού υλικού Το έργο υλοποιείται στο πλαίσιο του Επιχειρησιακού Προγράμματος «Εκπαίδευση και Δια Βίου Μάθηση» και συγχρηματοδοτείται από την Ευρωπαϊκή Ένωση (Ευρωπαϊκό Κοινωνικό Ταμείο) και από εθνικούς πόρους

Σημείωμα Ιστορικού Εκδόσεων Έργου Σημειώματα Το παρόν έργο αποτελεί την έκδοση 10 Έχουν προηγηθεί οι κάτωθι εκδόσεις: Έκδοση 10 διαθέσιμη εδώ http://ecourseuoigr/course/viewphp?id=1227

Σημείωμα Αναφοράς Σημείωμα Αδειοδότησης Copyright Πανεπιστήμιο Ιωαννίνων, Διδάσκοντες: Αν Καθ Δ Παπαγεωργίου, Αν Καθ Ε Λοιδωρίκης «ΥΠΟΛΟΓΙΣΤΕΣ ΙI Δείκτες» Έκδοση: 10 Ιωάννινα 2014 Διαθέσιμο από τη δικτυακή διεύθυνση: http://ecourseuoigr/course/viewphp?id=1227 Το παρόν υλικό διατίθεται με τους όρους της άδειας χρήσης Creative Commons Αναφορά Δημιουργού - Παρόμοια Διανομή, Διεθνής Έκδοση 40 [1] ή μεταγενέστερη [1] https://creativecommonsorg/licenses/by-sa/40/