Lista
Departamento de Informática
Curso: Sistemas de Informação
Disciplina: Linguagem de Programação
Profª. Evaldinolia Gilbertoni Moreira
Lista 11 – ponteiros
1. Considerem o seguinte programa: int main () { char *p, **q; char* str[] = {"universidade","federal","do", "Maranhão"}; q = str; p = *str;
}
Considerando o programa acima, completem o valor das seguintes expressões.
Expresão Valor Expressão Valor p+1 q[1][2]
*(q+1)
*(*q+1)
**q
*q[2]
2. Assumindo um vetor vet com os seguintes valores int vet [4] = {2,5,3,7};
Qual o valor das seguintes expressões, ou escreva invalida para as não válidas:
a)
b)
c)
d)
e)
*vet + 6
*(vet + 2)
**&vet*3
*vet*(*vet +1)
**vet+2;
3. Qual serão as saídas do seguinte programa?
#include
int main() { int valor, *p1, idade, *p4, *p5, vetor[3]; float temp, *p2; char aux, *p3; char *nome = "Algoritmos";
/* (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);
/* */ 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 \n", idade);
/* (m) */ p5 = &vetor[2] - 1; printf("(m) %d \n", *p5);
/* (n) */ p5++; printf("(n) %d \n", *p5);
return(0);
}
4. Qual é o resultado do seguinte programa?
#include
#include void main(){ float vet[5] = {1.1,2.2,3.3,4.4,5.5}; float *f; int i; f = vet;