Considere o seguinte trecho (incompleto) de programa:
int i = 5;
float x = 3.14;
p = &i;
q = &x;
x = 2* (10 - x);
i = x + 1;
Como devem ser declaradas as variáveis p eq para que a sintaxe desse trecho de programa seja considerada correta?
int i = 5;
float x = 3.14;
p = &i;
q = &x;
x = 2* (10 - x);
i = x + 1;
Passo 1
O enunciado pede que “p = &i;” e “q = &x;” tenham sintaxe válida. Aqui estamos em C (ou linguagem similar) usando operadores de endereço (&) e atribuição a ponteiros.
Passo 2
Para usar o operador & sobre uma variável do tipo inteiro (i), a variável receptora p precisa ser um ponteiro para inteiro (int *). De forma análoga, para usar & sobre uma variável float (x), q precisa ser um ponteiro para float (float *).
Passo 3
Em C, declaramos um ponteiro para inteiro assim: int *p; e um ponteiro para float assim: float *q;
Resposta
As variáveis devem ser declaradas assim:
int *p;
float *q;
int *p;
float *q;