Nos seus próprios estudos (por conta própria ou para uma aula), você teve um momento "ah ha" quando finalmente entendeu realmente os indicadores? Você tem uma explicação usada para programadores iniciantes que parece particularmente eficaz?
Por exemplo, quando os iniciantes encontram ponteiros em C, eles podem adicionar &
s e *
s até compilar (como eu mesmo fiz uma vez). Talvez tenha sido uma imagem ou um exemplo muito bem motivado que fez os ponteiros "clicarem" para você ou seu aluno. O que foi e o que você tentou antes que parecia não funcionar? Houve algum pré-requisito de tópicos (por exemplo, estruturas ou matrizes)?
Em outras palavras, o que era necessário entender o significado de &
s e *
, quando você poderia usá-los com confiança? Aprender a sintaxe e a terminologia ou os casos de uso não é suficiente; em algum momento, a ideia precisa ser internalizada.
Atualização: eu realmente gosto das respostas até agora; por favor, mantenha-os chegando. Existem muitas perspectivas excelentes aqui, mas acho que muitas são boas explicações / slogans para nós mesmos depois de internalizarmos o conceito. Estou procurando os contextos e circunstâncias detalhados quando isso ocorreu a você.
Por exemplo:
Eu só entendi um pouco os ponteiros sintaticamente em C. Ouvi dois de meus amigos explicando os ponteiros para outro amigo, que perguntou por que um
struct
passador foi passado com um ponteiro. O primeiro amigo falou sobre como precisava ser referenciado e modificado, mas foi apenas um breve comentário do outro amigo em que me ocorreu: "Também é mais eficiente". Passar 4 bytes em vez de 16 bytes foi a mudança conceitual final que eu precisava.