Czy podczas własnych studiów (na własną rękę lub na zajęcia) miałeś moment „ah ha”, kiedy w końcu naprawdę zrozumiałeś wskazówki? Czy masz jakieś wyjaśnienie dla początkujących programistów, które wydaje się szczególnie skuteczne?
Na przykład, kiedy początkujący po raz pierwszy spotykają wskaźniki w C, mogą po prostu dodawać &
s i *
s, aż się skompiluje (tak jak ja kiedyś to zrobiłem). Może to obraz lub naprawdę dobrze zmotywowany przykład sprawił, że wskaźniki „kliknęły” dla ciebie lub twojego ucznia. Co to było, a co próbowałeś wcześniej, to nie działało? Czy były jakieś wymagania wstępne (np. Struktury lub tablice)?
Innymi słowy, co było konieczne, aby zrozumieć znaczenie &
si, a *
kiedy można je było używać z pewnością? Nauka składni i terminologii lub przypadków użycia nie wystarczy, w pewnym momencie pomysł musi zostać zinternalizowany.
Aktualizacja: Jak dotąd bardzo lubię odpowiedzi; proszę, niech nadchodzą. Jest tu wiele wspaniałych perspektyw, ale myślę, że wiele z nich to dobre wyjaśnienia / hasła po zinternalizowaniu tej koncepcji. Szukam szczegółowych kontekstów i okoliczności, kiedy do ciebie dotarło.
Na przykład:
Jedynie w pewnym stopniu zrozumiałem wskaźniki składniowo w C. Słyszałem, jak dwóch moich przyjaciół wyjaśnia wskaźniki innym przyjacielowi, który zapytał, dlaczego a
struct
przekazano ze wskaźnikiem. Pierwszy znajomy mówił o tym, jak należy się do niego odwoływać i modyfikować, ale był to tylko krótki komentarz innego znajomego, w którym mnie uderzył: „Jest także bardziej wydajny”. Przekazywanie 4 bajtów zamiast 16 bajtów było ostatnią potrzebną zmianą pojęciową.