A função principal de entradas de
dados na Linguagem C é a scanf, da biblioteca “stdio.h”. A função scanf() pode
receber qualquer tipo de dado e encaminhá-lo para gravação em uma variável.
Para isso é necessário o uso dos caracteres especiais de dados. A sintaxe do
comando é:
Scanf(“ %?”, &variável);
Onde indicamos o tipo de dado ao
qual desejamos armazenar na variável (%Tipo, Exemplo: %d, %c, %f,
%s...) e ao indicarmos em qual
variável devemos armazenar os dados que receberemos do teclado, usamos o
caractere especial “&”, que é o caractere que trabalha com o endereçamento
de memória, pois o scanf pode armazenar o número da variável de memória e não o
valor caso o “&” não seja colocado antes da variável. Vejamos o exemplo
abaixo:
#include <stdio.h> void
main (){
int num1, num2;
printf ("entre com 1
numero"); scanf ("%d", &num1);
printf ("entre com 2
numero"); scanf ("%d", &num2);
printf ("O 1 numero gravado e: %d, e o 2 numero gravado e: %d", num1, num2);
}
É um erro comum esquecer o
caractere de endereço “&” antes da variável.
Vejamos um exemplo simples onde o
caractere “&” é usado para mostrar o endereço: #include <stdio.h>
void main (){
int num;
printf ("entre com 1
numero"); scanf ("%d", &num);
printf ("\n O valor
armazenado e: %d", num);
printf ("\n O endereco de
memoria de %d e %d", num, &num);
}
Ao executarmos esse código,
teremos o seguinte resultado:
No caso, entrei com o valor 5, ao qual foi impresso como valor da variável. No segundo printf() apresentamos o valor da variável e seu endereço de memória como um número inteiro.
Mais a frente, trabalharemos bastante a questão do caractere endereçador de memória “&”.
Fonte: Linguagem da programação I, UFERSA, Macedo, Luiz