1. Sabemos que ponteiros é uma parte fundamental na Linguagem C. Informe dois dos motivos mais comuns para utilização de ponteiros em C.
2. De acordo com o programa abaixo, responda:
#include <stdio.h>
int main() {
int *ptr;
int a=5,b=6,*c;
ptr = &a;
c = &b;
a = *c;
b = (*ptr) + 10;
*ptr = b + (*ptr);
*c = a + (*ptr);
//O que é impresso nos printfs abaixo?
printf("%d\n", a);
printf("%d\n", b);
printf("%d\n", *c);
printf("%d\n", *ptr);
return 0;
}
3. De acordo com o programa abaixo, responda:
#include <stdio.h>
int main() {
int *ptr;
int a=5,b=7,c=10;
ptr = &a;
a = c;
*ptr = a + b;
b = (*ptr) + 10;
c = b + (*ptr);
c = 6 + (*ptr);
//O que é impresso nos printfs abaixo?
printf("%d\n", a);
printf("%d\n", b);
Exercício AV3
NOTA:
Curso: Pronatec Data:
Disciplina: Estrutura de Dados Período Letivo: 2015.2 Aluno(a):
000 004 008 012 016 020 028 024 ptr
a b c
000 004 008 012 016 020 028 024 ptr
a b
c
printf("%d\n", c);
printf("%d\n", *ptr);
return 0;
}
4. Descreva o conceito e as regras que as estruturas de dados abaixo utilizam.
Pilhas
5. Responda as perguntas sobre a estrutura de dados pilha abaixo:
#define tam 3
int pilha[tam];
//Remover
void desempilhar(int *________) {
if( ) {
}
else {
} }
1. O topo está em que índice do vetor?
2. Remova o elemento 20, completando o código de remover acima.
3. Depois de remover o elemento estará em que índice do vetor.
4. A pilha é homogênea ou heterogênea?
6. Responda as perguntas sobre a estrutura de dados pilha abaixo:
#define tam 3
char pilha[tam];
//Inserir
void empilhar(char ________, int *___________) {
if( ) {
} else {
20 10 20 10
“b”
20 10 0
1 TOPO 0
2 0 0 2 0 0 2
0 TOPO 1
2
} }
5. O topo está em que índice do vetor?
6. Insira o elemento “a”, completando o código de inserir acima.
7. Depois que inserir o elemento estará em que índice do vetor.
8. A pilha é homogênea ou heterogênea?