Nei tuoi studi (da solo o per una classe) hai avuto un momento "ah ah" quando finalmente hai capito davvero dei suggerimenti? Hai una spiegazione che usi per i programmatori principianti che sembra particolarmente efficace?
 Ad esempio, quando i principianti incontrano per la prima volta i puntatori in C, potrebbero semplicemente aggiungere   &    s e   *    s fino a quando non compila (come facevo io stesso una volta). Forse è stata una foto, o un esempio davvero ben motivato, che ha fatto puntare "click" a te o al tuo studente. Cos'era e cosa hai provato prima che non sembrasse funzionare? Sono stati riscontrati prerequisiti di argomenti (ad esempio, strutture o matrici)? 
 In altre parole, cosa era necessario per capire il significato di   &    s e   *   , quando potevi usarli con sicurezza? L'apprendimento della sintassi e della terminologia o dei casi d'uso non è sufficiente, a un certo punto l'idea deve essere interiorizzata. 
Aggiornamento: mi piacciono molto le risposte finora; per favore, continuate a farli venire Ci sono molte grandi prospettive qui, ma penso che molte siano buone spiegazioni / slogan per noi dopo abbiamo interiorizzato il concetto. Sto cercando i contesti e le circostanze dettagliate quando ti è venuto in mente.
Ad esempio:
I only somewhat understood pointers syntactically in C. I heard two of my friends explaining pointers to another friend, who asked why a
structwas passed with a pointer. The first friend talked about how it needed to be referenced and modified, but it was just a short comment from the other friend where it hit me: "It's also more efficient." Passing 4 bytes instead of 16 bytes was the final conceptual shift I needed.
 
 