PONTEIRO

439 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

4. Qual serão as saídas do seguinte programa? #include <stdio.h>
#include <conio.h> int main() { int valor; int *p1; float temp; float *p2; char aux; char *nome = "Algoritmos"; char *p3; int idade; int vetor[3]; int *p4; int *p5; /* (a) */ valor = 10; p1 = &valor; *p1 = 20; printf("(a) %d \n", valor); /* (b) */ temp = 26.5; p2 = &temp; *p2 = 29.0; printf("(b) %.1f \n", temp); /* (c) */ p3 = &nome[0]; aux = *p3; printf("(c) %c \n", aux); /* (d) */ p3 = &nome[4]; aux = *p3; printf("(d) %c \n", aux); /* (e) */ p3 = nome; printf("(e) %c \n", *p3); /* (f) */ p3 = p3 + 4; printf("(f) %c \n", *p3); /* (g) */ p3--; printf("(g) %c \n", *p3); /* <h> */ vetor[0] = 31; vetor[1] = 45; vetor[2] = 27; p4 = vetor; idade = *p4; printf("(h) %d \n", idade); /* (i) */ p5 = p4 + 1; idade = *p5; printf("(i) %d \n", idade); /* (j) */ p4 = p5 + 1; idade = *p4; printf("(j) %d \n", idade); /* (l) */ p4 = p4 - 2; idade = *p4; printf("(l) %d

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