Έστω ότι sizeof(int) == 4 και η τιμή του int *ptr είναι 0x42. Ποια η τιμή της έκφρασης ptr + 4;
0x46420x520x4CΤο 32% επέλεξε 0x4C και το 22% 0x46. Οι δεύτεροι ξέχασαν ότι το + 4 σημαίνει 4 × sizeof(int) bytes, ενώ οι πρώτοι πρόσθεσαν σωστά 16 bytes, αλλά μπέρδεψαν τη δεκαεξαδική πρόσθεση (16 = 0x10).
Η αριθμητική δεικτών μετράει σε στοιχεία, όχι σε bytes· προσέξτε και σε ποια βάση κάνετε την πρόσθεση.
Αριθμός στον οδηγό: Κ11.12
(στο κεφάλαιο) ·
Μόνιμο αναγνωριστικό: kahoot-pointer-plus-int-hex ·
Σύνδεσμος: https://progintro.github.io/study/questions/kahoot/kahoot-pointer-plus-int-hex.html ·
Markdown (GitHub)