A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Estruturas de Dados II Prof.: Sergio Pacheco Prof.: Sergio Pacheco 1 1.

Apresentações semelhantes


Apresentação em tema: "Estruturas de Dados II Prof.: Sergio Pacheco Prof.: Sergio Pacheco 1 1."— Transcrição da apresentação:

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


Carregar ppt "Estruturas de Dados II Prof.: Sergio Pacheco Prof.: Sergio Pacheco 1 1."

Apresentações semelhantes


Anúncios Google