Faculdade Latino Americana Ciência da Computação Programação Estruturada II Profª. Noeli Pimentel EXERCÍCIOS PONTEIROS 1 - O que é um ponteiro? Explique por que é importante definir o tipo de dado para qual o ponteiro aponta. 2 - Qual das seguintes instruções está correta para declarar um apontador? a) int ptrx; b) int *ptrx; c) *int ptrx; d) *x; 3 - Como atribuir o endereço da variável ch ao apontador indica? a) indica = ch; b) ch = *indica c) *indica = &ch; d) indica = &ch; 4 - Qual a maneira correta de referenciar a variável ch, assumindo que o endereço de ch foi atribuído ao apontador indica? a) *indica; b) *ch; c) int *indica; d) *x; 5 - Na expressão float *ptr_f; o que é do tipo float? a) A variável ptr_f b) O endereço de ptr_f c) A variável apontada por ptr_f d) O endereço da variável ptr_f; 6 - Assumindo que o endereço da variável vox foi atribuído a um apontador variável invox, quais das seguintes expressões são verdadeiras? a) if(vox = = &invox) b) if(vox = = *invox) c) if(*vox = = invox) d) if(&vox = = invox) 7 - Considere a seguinte declaração de variáveis: int i, j ; int *p, *q; Quais das seguintes atribuições são permitidas e explique brevemente o que será armazenado em cada variável? a) p = &i; b) *q = &j; c) *p = i; d) q = &p; e) j = *q; f) *q = i; Faculdade Latino Americana Ciência da Computação Programação Estruturada II Profª. Noeli Pimentel 8 - O que imprime o programa a seguir? #include <stdlib.h> #include <stdio.h> func(int *a, int b) { int temp; temp = *a; *a = b; b = temp; } void main() { int a = 10, b = 20; func(&a, b); printf("a = %d, b = %d", a, b); system(“PAUSE”); } a) b) c) d) e) a = 10, b = 20 a = 20, b = 10 a = 10, b = 10 a = 20, b = 20 Nenhuma das opções anteriores 9 – Se chamarmos um função pela instrução: Func(&x, &y); Para que serve &x e &y? a) b) c) d) e) São valores inteiros passados para a função; São os endereços da função e função que chamou, respectivamente; São os endereços das variáveis da função que chamou onde queremos ue sejam colocados os valores a serem modificados; São os endereços das funções de biblioteca necessárias para a função. 10 - Suponha que os elementos do vetor v são do tipo int e cada int ocupa 8 bytes no seu computador. Se o endereço de v[0] é 55000, qual o valor da expressão v + 3?,