Algoritmos e Estrutura de Dados I - AE22CP - 2016/1 |
Bruno César Ribas |
Exercícios
- Responda as perguntas abaixo. Se achar necessário, faça testes no
computador.
- Explique a diferença entre
- p++;
- (*p)++;
- *(p++);
- O que quer dizer *(p+10);?
- Explique o que você entendeu da comparação entre ponteiros
- Explique a diferença entre
- Qual o valor de y no final do programa? Tente primeiro descobrir e
depois verifique no computador o resultado.
int main(void) { int y, *p, x; y = 0; p = &y; x = *p; x = 4; (*p)++; x; (*p) += x; printf ("y = %d\n", y); return 0; }
- Diga quais expressões abaixo são válidas ou não. Considere as declarações:
int vetor[10]; int *ponteiro;
- vetor = vetor +2;
- vetor++;
- vetor = ponteiro;
- ponteiro = vetor;
- ponteiro = vetor+2;
- Explique o que faz o programa abaixo
int main(void){ float vet[5] = {1.1,2.2,3.3,4.4,5.5}; float *f; int i; f = vet; printf("contador/valor/valor/endereco/endereco\n"); for(i = 0 ; i <= 4 ; i++){ printf("i = %d",i); printf(" vet[%d] = %.1f",i, vet[i]); printf(" *(f + %d) = %.1f",i, *(f+i)); printf(" &vet[%d] = %X",i, &vet[i]); printf(" (f + %d) = %X\n",i, f+i); } return 0; }
- Assumindo que M1[] é um vetor do tipo int, quais das seguintes expressões referenciam o valor do terceiro elemento de M1? a) *(M1 + 2) b) *(M1 + 4) c) M1 + 4 d) M1 + 2
- Seja vet um vetor de 4 elementos: TIPO vet[4]. Supor que depois da
declaração, vet esteja armazenado no endereço de memória 4092 (ou
seja, o endereço de vet[0]). Supor também que na máquina usada
uma variável do tipo char ocupa 1 byte, do tipo int ocupa 2 bytes, do
tipo float ocupa 4 bytes e do tipo double ocupa 8 bytes.
Qual o valor de vet+1, vet+2 e vet+3 se:
- vet for declarado como char?
- vet for declarado como int?
- vet for declarado como flota?
- vet for declarado como double?
- Verifique o programa abaixo. Encontre o seu erro e corrijao para
que escreva o numero 10 na tela.
#include <stdio.h> int main(void) { int x, *p, **q; p = &x; q = &p; x = 10; printf("%d\n", &q); return 0; }
- Exercícios inspirados da lista http://www.inf.ufes.br/~santos/files/active/0/lista-3.pdf
--
Last Modified: Tue Mar 8 17:59:50 2016.