sábado, 6 de abril de 2013

Passagem de parâmetros


Acho melhor falar de passagem de parâmetros antes de outras coisas, porque tem diretamente a ver com funções. Então. Quando eu passo uma variável básica (int, double, float, char) pra função vai uma cópia dela, enquanto vetores são passados e modificados dentro (observação importante do tópico anterior).
Se eu passar o ponteiro de uma variável básica, a de fora vai ser modificada. Como funciona a passagem do ponteiro:

int funcao (tipo* ponteiro) { //... }
//... bla bla bla coisas
// na main:
int a = qualquer_coisa;
int i = funcao (&a); //eu passo O ENDEREÇO de a

dentro da função eu lido com os ponteiros com *. Sempre com *. Uma dica que me gusta, quando eu quero passar um vetor mas eu não tenho certeza do tamanho dele (por ex, o usuário que escolheu o tamanho, então não era pre-definido), eu posso passar um ponteiro! Lembra que vetor também aponta endereço? Aí funciona se eu passar *vetor e usar isso, sem precisar saber o tamanho certinho.
Cansei de passagem de parâmetros. deu.

PS: já falo de ponteiros, pera.

Nenhum comentário:

Postar um comentário