У ваших власних дослідженнях (самостійно чи в класі) у вас був момент "ах-ха", коли ви, нарешті, справді зрозуміли вказівники? Чи є у вас пояснення, яке ви використовуєте для початківців програмістів, яке здається особливо ефективним?
Наприклад, коли початківці вперше стикаються з покажчиками на C, вони можуть просто додати &
s і *
s, поки він не складеться (як я сам колись робив). Можливо, саме малюнок або справді добре вмотивований приклад зробили покажчики «клацанням» для вас або вашого учня. Що це було, і що ви намагалися до цього, здавалося, не спрацювало? Чи були передумови будь-які теми (наприклад, структури чи масиви)?
Іншими словами, що було потрібно для розуміння значення &
s та *
, коли ви могли з упевненістю їх використовувати? Вивчення синтаксису та термінології або випадків використання недостатньо, в якийсь момент ідею потрібно інтерналізувати.
Оновлення: відповіді мені зараз дуже подобаються; будь ласка, продовжуйте їх приходити. Тут є багато чудових перспектив, але я думаю, що багато хто є хорошими поясненнями / гаслами для себе після того, як ми втілили цю концепцію. Я шукаю докладні контексти та обставини, коли це осяялось у вас.
Наприклад:
Я лише дещо зрозумів вказівники синтаксично в C. Я почув двох моїх друзів, які пояснювали вказівники іншому другові, який запитав, чому
struct
було передано покажчик. Перший друг розповів про те, як його потрібно посилати та змінювати, але це був лише короткий коментар другого друга, де він мене вдарив: "Це також ефективніше". Пропуск 4-х байтів замість 16-ти байт був останньою необхідною концептуальною зміною.