Dando continuidade ao nosso Curso de Programação C, vamos aprender nesta aula como passar um ponteiro como parâmetro para uma função ou procedimento.
O processo é exatamente igual à passagem de uma variável comum como parâmetro, havendo apenas duas pequenas diferenças que, apesar de pequenas, fazem toda a diferença.
A primeira diferença é na assinatura da função / procedimento. Se vamos receber um ponteiro, então precisamos indicar isso com um asterisco ( * ) à esquerda do nome da variável, como apresentado a seguir:
// procedimento imprimir que recebe o endereço de um inteiro
void imprimir(int *num){
printf("%d\n", *num);
*num = 80;
}
A segunda alteração é quando utilizamos a função / procedimento. Se o mesmo recebe um endereço, então precisamos enviar o endereço da variável e não seu conteúdo. O endereço de uma variável pode ser obtido com o operador e comercial ( & ) à esquerda do nome da variável, como feito a seguir:
// chamando o procedimento imprimir passando o endereço da variável idade
imprimir(&idade);
Código de exemplo completo em C
*/
Aula 187: Como passar um ponteiro como parâmetro?
Código escrito por Wagner Gaspar
Maior de 2021
*/
void imprimir(int *num){
printf("%d\n", *num);
*num = 80;
}
int main(){
int idade = 35;
imprimir(&idade);
printf("No main: %d\n", idade);
return 0;
}
