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; }