Utfpr
Lista de Exercícios 6 - Ponteiros
1. Fazer uma função usando ponteiros que soma todos os elementos de um vetor com no máximo 30 elementos. Declare o vetor na função main. 2. Fazer uma função usando ponteiros para inverter uma string. 3. Reescreva as funções strlen, strcpy, strlwr, strupr, strchr e strcat da biblioteca usando ponteiros. 4. Escreva um programa que a partir da leitura de duas Strings qualquer, informe o número de caracteres da concatenação das duas Strings. 5. Qual será a saída deste programa supondo que i ocupa o endereço 2000 na memória?
#include int main(void) { int i=5, *p; p= &i; printf("%u %d %d %d %d \n", p, *p+2, **&p, 3**p, **&p+4); return 0; }
6. Seja o seguinte trecho de programa: int i=3, j=5; int *p, *q; p= &i; q= &j;
Qual é o valor das expressões? a) p==&i b) *p-*q c) **&p d) 3*-*p/(*q)+7 7. Assumindo que o endereço de vox foi atribuído a um ponteiro variável invox, quais das seguintes expressões são verdadeiras? a) vox == &invox b) vox == *invox c) invox == *vox d) invox == &vox e) &vox == &invox 8. Seja o código abaixo:
#include int main(void) { int mat[3] = {5, 9 , 11}; int *ptr; ptr = mat; printf(“ %d”, *ptr + 1); printf(“ %d”, *(ptr + 1));
1
return 0; }
O que será impresso? E para o código abaixo? ptr = mat; printf(“ %d”, *(ptr)); printf(“ %d”, *(ptr + 2));
9. Qual é a maneira correta de referenciar o valor de ch, assumindo que o endereço de ch foi atribuído ao ponteiro indica?
a) *indica b) int *indica c) &indica d) &ch e) *ch
f) a) b) c) d)
Na expressão float *fptr; o que é do tipo float? A variável fptr O endereço de fptr A variável apontada por fptr Nenhuma das anteriores
10. Assumindo que o endereço da variável var foi atribuído a um ponteiro variável ptrvar, escreva uma expressão que não usa var e divida var por 10. 11. Qual é