Exercicios Ponteiro
Por: Thiago Nunes Scabbia • 30/11/2015 • Trabalho acadêmico • 896 Palavras (4 Páginas) • 388 Visualizações
Exercício 1: Qual das instruções abaixo é correta para declarar um ponteiro para inteiro?
A. *int pti;
B. *pti;
C. &i;
D. int_pti pti;
E. int *pti;
Resposta: Alternativa E
Exercício 2: Seja a seguinte sequência de instruções em um programa C:
• Qual afirmativa é falsa?
A. pti armazena o endereço de i;
B. *pti é igual a 10;
C. ao se executar *pti = 20; i passará a ter o valor 20;
D. ao se alterar o valor de i, *pti será modificado;
E. pti é igual a 10;
Resposta: Alternativa E
Exercício 3: Indique o que acontece em cada uma das instruções do programa abaixo. Para cada passo que envolva também os valores de “valorA" e/ou “valorB”, indique o que está
armazenado por estas variáveis.
1 #include
2 int main() //função main
3 {
4 int valorA = 10; //variável valorA do tipo inteiro que vale 10
5 int valorB = 5; //variável valorB do tipo inteiro que vale 5
6 int *ptr; //ponteiro do tipo inteiro chamado ptr apontando para nada
7
8 ptr = &valorA; //ponteiro ptr apontando para o endereço de memoria da variável valorA
9 *ptr++; // O valor da variável valorA que no caso é 10, esta sendo incrementada por ++ através do ponteiro ptr
10
11 ptr = &valorB; //ponteiro ptr esta apontando para o endereço de memoria da variável valorB
12 valorA = *ptr; //valorA está recebendo o valor do ponteiro ptr, como o ponteiro *ptr está apontando agora para o valor da variável valorB e valorB vale 5, valorA agora vale 5
13
14 printf("O valor final de A: %d\n”, valorA); //valorA = 5
15 printf("O valor final de B: %d\n”, valorB); //valor = 5
16
17 return 0;
18 }
Exercício 4: Elabore uma função que recebe um inteiro e dobra seu valor. Lembre-se de testar a função desenvolvida.
#include
int main(){
int c,a = 5;
int dobraValor(int x);
c = dobraValor(a);
printf("%d", c);
}
int dobraValor(int x){
x = x*2;
return x;
}
Exercício 5: Elabore um programa em C que peça ao usuário o valor de uma variável x e depois de uma y. Em seguida, crie uma função que inverta esses valores através do uso de
ponteiros. Lembre-se de testar a função desenvolvida.
#include
#include
int main(){
void inverter (int *x, int *y);//declaração da função que usaremos para inverter os valores
...