ponteiros

286 palavras 2 páginas
1. Seja o seguinte trecho de programa: int i=3,j=5; int *p, *q; p = &i; q = &j;
Qual é o valor das seguintes expressões?
a) p == &i; b) *p - *q c) **&p d) 3* - *p/(*q)+7

2. Qual será a saída deste programa supondo que i ocupa o endereço 4094 na memória? main() { int i=5, *p; p = &i; printf(“%x %d %d %d %d \n”, p,*p+2,**&p,3**p,**&p+4);
}

3. Se i e j são variáveis inteiras e p e q ponteiros para int, quais das seguintes expressões de atribuição são ilegais?
a) p = &i; b) *q = &j; c) p = &*&i; d) i = (*&)j;
e) i = *&j; f) i = *&*&j; g) q = *p; h) i = (*p)++ + *q

6. Assumindo que pulo[] é um vetor do tipo int, quais das seguintes expressões referenciam o valor do terceiro elemento da matriz?
a) *(pulo + 2) b) *(pulo + 4) c) pulo + 4 d) pulo + 2

7. Supor a declaração: int mat[4], *p, x; Quais expressões são válidas? Justifique:
a) p = mat + 1; b) p = mat++; c) p = ++mat; d) x = (*mat)++;

10. 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:
a) vet for declarado como char?
b) vet for declarado como int?
c) vet for declarado como float?
d) vet for declarado como double?

Relacionados

  • Ponteiros
    893 palavras | 4 páginas
  • Ponteiros
    2031 palavras | 9 páginas
  • ponteiros
    1478 palavras | 6 páginas
  • Ponteiros
    545 palavras | 3 páginas
  • Ponteiros
    1045 palavras | 5 páginas
  • Ponteiros
    957 palavras | 4 páginas
  • Ponteiros
    4985 palavras | 20 páginas
  • Ponteiros
    537 palavras | 3 páginas
  • Ponteiros
    1246 palavras | 5 páginas
  • Ponteiros
    475 palavras | 2 páginas