Carregar apresentação
A apresentação está carregando. Por favor, espere
PublicouSarah Lobato Alterado mais de 10 anos atrás
1
Estruturas de Dados II Prof.: Sergio Pacheco Prof.: Sergio Pacheco 1 1
2
Sumário Correção Exercício; Ponteiro X Alocação Seqüencial;
Exercícios. Prof.: Sergio Pacheco 2 2
3
Correção DEV C++; Prof.: Sergio Pacheco 3 3
4
Usando o Linux Compila o arquivo alo.c (gerando o arquivo alo.o).
gcc -c alo.c Linka o programa e gera o executável com nome alo. gcc -o alo alo.o Executa o programa alo. ./alo ERROS: SINTAXE ERROS: LÓGICA Prof.: Sergio Pacheco 4 4
5
Ponteiro Endereços : A memória de qualquer computador é uma seqüência de bytes. Os bytes são numerados sequencialmente. O número de um byte é o seu endereço (= address). O endereço de uma variável é dado pelo operador &, e quando quisermos fazer uso do valor usamos o operador *; Prof.: Sergio Pacheco 5 5
6
Ponteiro Endereços : A memória de qualquer computador é uma seqüência de bytes. Os bytes são numerados sequencialmente. O número de um byte é o seu endereço (= address). O endereço de uma variável é dado pelo operador &, e quando quisermos fazer uso do valor usamos o operador *; Prof.: Sergio Pacheco 6 6
7
Ponteiro Um ponteiro indica o endereço onde um valor é armazenado na memória do computador, ao contrário de uma variável que representa um valor numérico real. Prof.: Sergio Pacheco 7 7
8
Ponteiro Para resumir é uma variável que armazena o endereço de uma outra variável. Prof.: Sergio Pacheco 8 8
9
Ponteiro Declaração, como forma geral : Tipo *nome;
Prof.: Sergio Pacheco 9 9
10
Ponteiro X Valor #include <stdio.h> void incrementa (int valor);
main() { char parada; int i = 1; printf ("O valor original de i e : %d\n", i); incrementa (i); printf ("Depois da chamada e : %d\n", i); getchar(); } void incrementa (valor) { valor++; printf ("Dentro da funcao i vale : %d\n", valor); Prof.: Sergio Pacheco 10 10
11
Ponteiro X Valor Alterar o exercício anterior, fazendo uso de ponteiros para mostrar a passagem por referência; Prof.: Sergio Pacheco 11 11
12
Ponteiro X Valor #include <stdio.h>
void incrementa (int *valor); main(){ char parada; int *p,i = 1; p=&i; printf ("O valor original de i e : %d\n", i); incrementa (p); printf ("Depois da chamada e : %d\n", i); parada = getchar(); } void incrementa (int *valor) { (*valor)++; printf ("Dentro da funcao i vale : %d\n", *valor); printf(“A posicao de memoria e %d",&valor); Prof.: Sergio Pacheco 12 12
13
O que esta errado? void main(void){ int x, *p; x = 10; p = x;
printf ("%d", *p); } p=&x; Prof.: Sergio Pacheco 13 13
14
O que podemos entender? #include <stdio.h>
#include <string.h> void sempreRef (char str[]); main(){ char parada; char saudacao[20] = "----Alo"; printf ("\nO texto inicial e \" %s\" \n", saudacao); sempreRef (saudacao); printf ("Depois da chamada:\" %s\"\n", saudacao); parada = getchar(); } void sempreRef (char str[]){ strcat (str, "!OUTRO"); Prof.: Sergio Pacheco 14 14
15
Exercícios Desenvolver um programa em c para receber 2 notas de 1 aluno e verificar se: Media maior que 6,0 imprimir aluno aprovado; Media menor que 6,0 e maior que 3,0 imprimir aluno prova final; Media menor que 3,0 imprimir aluno reprovado; O programa deverá fazer uso de ponteiros e funções. Prof.: Sergio Pacheco 15 15
16
Depurar o programa abaixo, qual a saída.
#include <stdio.h> #include <stdlib.h> void main(){ int y, *p, x; y = 0; p = &y; x = *p; x = 4; (*p)++; printf("P=%d\n",(*p)++); x--; (*p)+=x; printf("y=%d\n",y); getchar(); } Prof.: Sergio Pacheco 16 16
17
Utilizando ponteiros com vetor.
#include <stdio.h> #include <stdlib.h> void main(void){ int vetor[] = { 10, 20, 30, 40, 50 }; int *p1; p1 = &vetor[2]; printf("%d\n", *p1); p1++; p1 = p1 + 1; getchar(); } Prof.: Sergio Pacheco 17 17
18
Revisão C Escreva um programa em C que leia números inteiros até que a soma de tais números totalize no mínimo Devem ser lidos tantos valores quantos necessários para que tal valor seja atingido ou superado. Quando isto ocorrer, o programa também deve exibir quantos números foram lidos e sua média e listar os todos os números? O programa deverá fazer uso de ponteiros, e deverá usar referencia como passagem de argumentos; Prof.: Sergio Pacheco 18 18
19
100 valores Prof.: Sergio Pacheco 19 19
20
Bom final de semana e até semana que vem !!!
Deus abençoe a todos. ( Prof.: Sergio Pacheco 20 20
Apresentações semelhantes
© 2024 SlidePlayer.com.br Inc.
All rights reserved.