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

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

Ponteiros em Linguagem C

Apresentações semelhantes


Apresentação em tema: "Ponteiros em Linguagem C"— Transcrição da apresentação:

1 Ponteiros em Linguagem C

2 Ponteiros em Linguagem C
O Que é uma variável? É uma área da memória do computador onde é armazenado um valor…. Exemplo 1: int a = 1;

3 Ponteiros em Linguagem C
O Que é uma variável? É uma área da memória do computador onde é armazenado um valor…. Exemplo 1: int a = 1; Variável Posição a 1000

4 Ponteiros em Linguagem C
O Que é uma variável? É uma área da memória do computador onde é armazenado um valor…. Exemplo 1: int a = 1; Variável Posição a 1000 1

5 Ponteiros em Linguagem C
O Que É Um Ponteiro? É uma variável que armazena o endereço na memória do computador onde está outra variável….

6 Ponteiros em Linguagem C
O Que É Um Ponteiro? É uma variável que armazena o endereço na memória do computador onde está outra variável…. Operadores relacionados a Ponteiros: *(asterisco): informa que uma variável irá armazenar o endereço de outra variável; ou: informa ao computador que vc deseja o valor que está no endereço armazenado; &(e comercial): retorna o endereço de uma variável;

7 Ponteiros em Linguagem C
Operadores relacionados a Ponteiros: *(asterisco): informa que uma variável irá armazenar o endereço de outra variável; ou: informa ao computador que vc deseja o valor que está no endereço armazenado; &(e comercial): retorna o endereço de uma variável; Exemplo 2: int a = 1; int *pt_a; pt_a = &a; printf(“%d”, *pt_a);

8 Ponteiros em Linguagem C
Repetindo: operador * declara-se com * int *x acessa-se (alterar, modificar, ler) também com * *x = 10; // atribui o valor 10 ao local apontado pelo ponteiro ‘x’ printf(“%d”, *x); // imprime o valor armazenado no local apontado por ‘x’ observação: strings e vetores funcionam de forma diferente: um vetor ou string é um ponteiro por definição operador & acessa (alterar, modificar, ler) o endereço de uma variável (que é um ponteiro)

9 Ponteiros em Linguagem C
Exemplo: int a = 1; 1 Variável Posição a 1000

10 Ponteiros em Linguagem C
Exemplo: int a = 1; int *pt_a; 1 Variável Posição a 1000 pt_a 1001

11 Ponteiros em Linguagem C
Exemplo: int a = 1; int *pt_a; pt_a = &a; 1 1000 Variável Posição a 1000 pt_a 1001

12 Ponteiros em Linguagem C
Onde usar isto??? Funções! Alocação Dinâmica Não sei o tamanho que o vetor precisa ter….! Não sei o tamanho que cada string precisa ter… Não sei o tamanho que a matriz precisa ter…

13 Ponteiros em Linguagem C- Exemplo
#include <stdio.h> int A[10]; int i,j,n; int main() { for(i=0;i<n;i++) scanf(“%d”,&A[i]); for(j=0;j<n;j++) for(i=0;i<n-1;i++) if(A[i]>A[i+1]) troca(A[i],A[i+1]); for(i=0;i<n;i++) printf (“%d\n”,A[i]); }

14 Ponteiros em Linguagem C- Exemplo
void troca(int a, int b) { int temp; temp = a; a = b; b = temp; }

15 Ponteiros em Linguagem C
Vai funcionar?????

16 Ponteiros em Linguagem C
Vai funcionar????? NÃOOOOOOO!!!!

17 Ponteiros em Linguagem C
Vai funcionar????? NÃOOOOOOO!!!! Por quê???????

18 Ponteiros em Linguagem C- Exemplo Corrigido
#include <stdio.h> int A[10]; int i,j,n; int main() { for(i=0;i<n;i++) scanf(“%d”,&A[i]); for(j=0;j<n;j++) for(i=0;i<n-1;i++) if(A[i]>A[i+1]) troca(&A[i],&A[i+1]); for(i=0;i<n;i++) printf (“%d\n”,A[i]); }

19 Ponteiros em Linguagem C- Exemplo Corrigido
void troca(int *a, int *b) { int temp; temp = *a; *a = *b; *b = temp; }


Carregar ppt "Ponteiros em Linguagem C"

Apresentações semelhantes


Anúncios Google