Encarando os temidos pointers...

Para saber o que é esse blog, leia o post Hello World.

Encarando os temidos pointers:

Sinceramente, eu pensava que essa coisa de pointers era mais difícil do que realmente é. Nunca tinha tido contato com eles antes de começar a aprender C++, mas em todos os lugares eu lia que os iniciantes têm dificuldade em aprender.

Por isso, comecei a ler sobre eles no tutorial que escolhi meio que com o pé atrás, mas bem atento, com medo de que viesse uma coisa bem cabeluda pela frente. Na verdade, eles são bem fáceis. Li esse tutorial e mais um em português muito bom para iniciantes, que explica direitinho, e entendi tudo (talvez porque eu já soubesse antes o que eles faziam).

Ok, agora sei como os pointers funcionam e qual sua sintaxe, maaaaaaaaaas.....

PRA QUE PORRA QUE ISSO SERVE????

Bom, se eles existem e os programadores mais experientes falam que são muito bons, deve servir para alguma coisa. Só preciso agora estudar mais pra saber exatamente quando preciso usar, como usar, por quê isso vai otimizar a velocidade do meu programa, etc, etc, etc.

Creio eu que só sejam necessários mesmo quando estou lidando com variáveis com tamanho MUITO grande. Ao invés de chamar uma variável gigante, eu chamo só o endereço dela, que não ocupa muito espaço na memória. Isso me parece ser o óbvio, mas vou me aprofundar mais pra ver onde vou chegar... talvez procurar um exemplo real sendo usado, tutoriais para iniciantes explicam o que é, mas não podem dar exemplos reais, pois seriam muito grandes. Acho.

Dessa vez não vou me delongar mais que isso. Vou mergulhar mais no estudo dos pointers, até que eu esteja dominando. Aí escrevo alguma coisa aqui. Se vocês estão estudando esse tópico, comentem, postem links, digam o que aprenderam.

Próximo passo? Clique aqui. É um tutorial que não li ainda, mas parece ser bem completo. Leia por sua conta e risco.

PS: no post anterior, pediram uma entrevista com o Rodrigo Strauss. Enviei as perguntas pra ele, mas ainda não recebi resposta. Vamos torcer aí (e esperar), acho que essa entrevista vai ser bem instrutiva para quem está começando.

PS2: Estou preparando um artigo mais aprofundado sobre bits e bytes, porque li as explicações sobre pointers e tive facilidade de entender porque já tinha um conhecimento sobre isso. Vi que nesses tutoriais eles não explicam direito essa parte, então vou postar aqui o que sei sobre isso da forma mais didática possível, pra dar um embasamento maior pra quem ainda não entende porque o computador entende "zeros e uns" e não entende "....oito-nove-dez". Depois, continuarei a focar mais ainda nos pointers.

Concordam? Discordam? Comentem! =)

Comentários

Daniel Quadros disse…
Os ponteiros são algo básico da arquitetura atual dos computadores. Dados são guardados em posições identificadas por endereços. Ponteiros são variáveis que contém estes endereços.

A diferença do C e do C++ em relação a outras linguagens é que ponteiros podem ser manipulados diretamente ao invés de ficarem escondidos atrás da cortina.

Passagem de parâmetros alteráveis para um rotina é o exemplo mais óbvio de uso ponteiros. A alocação dinâmica de memória é outro.

No meu blog eu coloquei uma série de artigos sobre Listas Ligadas, que começa explicando um pouco sobre ponteiros. O link é http://dqsoft.blogspot.com/2007/11/listas-ligadas-parte-1.html
brunOld disse…
Olá!!

Achei interessante teu post. Postei em meu blog ontem mesmo um "artigo" entitulado Desmistificando os Ponteiros em C/C++, com o objetivo de informar mais sobre algumas utilidade deles, e situações aonde aplicamos "esses caras".

E se você acompanhar meu blog vai ver em breve muitas outras utilidades dos ponteiros. Existem muitas coisas impossíveis de se fazer sem eles!!

Acho interessante tua idéia de aprender C/C++ em 6 meses. Mas acredite, a melhor maneira de aprender é aprender na marra. É você precisar fazer as coisas: a prática.

Abraços e muito bom o blog!!
Gostei do post, mesmo quem já "sabe" o que são ponteiros e como funcionam, reler nunca é demais...

=P

Postagens mais visitadas deste blog

Quarto, quinto... décimo sexto.

Desvendando o SDL (Simple Directmedia Layer)

Renascendo - ou Os Desafios de aprender C e C++