Introdução
Na programação C, ponteiros são usados para manipular os endereços de variáveis. Aqui, aprenderemos como somar dois números usando ponteiros na programação C.
Nota: Você precisa criar o arquivo
~/project/main.cpor conta própria para praticar a codificação e aprender como compilar e executá-lo usando gcc.
cd ~/project
## create main.c
touch main.c
## compile main.c
gcc main.c -o main
## run main
./main
Declarar as variáveis
Começaremos nosso programa declarando três variáveis: duas variáveis inteiras que armazenarão a entrada do usuário e uma variável ponteiro inteira que será usada para apontar para as duas variáveis inteiras. Aqui está o código para fazer isso:
int first, second, *p, *q, sum;
Obter a entrada do usuário
Agora precisamos obter dois inteiros do usuário. Usaremos a função scanf() para fazer isso, conforme mostrado abaixo:
printf("Enter two integers to add using pointers: ");
scanf("%d %d", &first, &second);
Apontar para as variáveis
Em seguida, declaramos dois ponteiros que apontarão para as variáveis inteiras que acabamos de declarar (first e second). Usaremos o operador & para obter o endereço das variáveis inteiras e armazená-los nos ponteiros, conforme mostrado abaixo:
p = &first;
q = &second;
Somar os números usando ponteiros
Agora que temos os inteiros apontados, podemos somá-los usando ponteiros para acessar seus valores. Aqui está o código para fazer isso:
sum = *p + *q;
No código acima, o operador * obtém o valor armazenado nos endereços apontados por p e q (que são os inteiros first e second).
Imprimir o resultado
Finalmente, imprimimos o resultado usando a função printf(), conforme mostrado abaixo:
printf("The sum of the entered numbers is: %d", sum);
Resumo
Neste laboratório, aprendemos como somar dois números usando ponteiros na programação C. Declaramos duas variáveis inteiras e uma variável ponteiro inteira que aponta para os inteiros. Em seguida, obtivemos os valores dos inteiros usando scanf(), e então usamos ponteiros para somá-los. Finalmente, imprimimos a soma usando printf().



