aula 187

Ponteiro como parâmetro para uma função ou procedimento

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

Deixe um comentário

quinze − doze =

Wagner Gaspar

Capixaba de São Gabriel da Palha, Espírito Santo. Bacharel em Ciência da Computação pela Universidade Federal do Amazonas e mestre em informática pela Universidade Federal do Espírito Santo.