You are on page 1of 2

Estrutura de Dados I

Profª. Noeli A. Pimentel Vaz

Atividade Lista 1 - Ponteiros

1 - Qual das seguintes instruções está correta para declarar um apontador?
a) int ptrx;
b) int *ptrx;
c) *int ptrx;
d) *x;

2 - Como atribuir o endereço da variável ch ao apontador indica?
a) indica = ch;
b) ch = *indica
c) *indica = &ch;
d) indica = &ch;

3 - 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;

4 - 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;

5 - 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)

6 - 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;

7 - 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?

z = h (v[5]. if (erro) printf (“Erro: divisão por zero\n”). e faça com que as variáveis ponteiro apontem para as variáveis inteiro.60}.. &a.Elabore um programa que declare 4 variáveis do tipo inteiro e 4 do tipo ponteiro para inteiro.h> int main () { int v[6]={0.20. Noeli A. b. z.. g() e h() utilizadas pela função main() abaixo: #include <stdio. &b).10. scanf (“%d%d”. . g (z. Coloque comandos que permitam modificar os valores das variáveis inteiras através das variáveis ponteiro. a. 11 . coloque os endereços dos valores do vetor de inteiros de forma ordenada crescente. em outro vetor de ponteiros de inteiros de tamanho 10.. } 12 .h> int main () { int a. Crie funções para as operações indicadas. erro. Realize a impressão dos elementos do vetor de float através do vetor de ponteiros.Faça uma função que receba um valor inteiro como referência e retorne o resto da divisão deste número por 10. b. &erro). . float x. else printf (“%d dividido por %d = %.. b. &v[4]).Faça as funções necessárias para que os programas abaixo funcionem conforme o esperado: #include <stdio. Pimentel Vaz 8 . g (x. . float c.2f\n”.Faça os protótipos (apenas!!) das funções f(). v).50.40. Estrutura de Dados I Profª.. . c = divide (a. &y). 9 .c). ficando a primeira posição do vetor de ponteiros com o endereço do menor valor até a última posição que conterá o endereço do maior valor. y. A posição 0 do vetor ponteiro deve apontar para a posicao 0 do vetor float e assim por diante.. Defina um tamanho para o vetor e funções leitura e impressão do vetor. 10 . return 0.Faça um programa onde um vetor de ponteiros tenha cada uma das suas posições apontando para as equivalentes de um vetor de valores float. } 13 . x = f (10).Elabore um programa que armazene valores aleatórios em um vetor de inteiros de 10 posições e depois.