Ponteiros em Linguagem C

Slides:



Advertisements
Apresentações semelhantes
Laboratório de programação III Linguagem C
Advertisements

Marco Antonio Montebello Júnior
Programação II Estruturas de Dados
Programação II Estruturas de Dados
Alocação Dinâmida de Memória
Algoritmos e Estrutura de Dados I
Alocação Dinâmica de Memória
Linguagem C LPG-I – Variáveis Estruturadas – Vetores
LPG - I: Alocação Dinâmica de Memória - Ponteiros
Ponteiros em C.
LPG – I Prof. Flavio Marcello
LPG - I: Ponteiros e Vetores/Matrizes UDESC - SBS
Estruturas de Dados II Prof.: Sergio Pacheco Prof.: Sergio Pacheco 1 1.
Universidade Federal do Espírito Santo Programação II Estruturas Professora: Norminda Luiza.
PROGRAMAÇÃO ou LINGUAGEM C?
LINGUAGEM C Centro Federal de Educação Tecnológica da Paraíba Coordenação de Informática Professor: Lafayette B. Melo.
Curso de C/C++ Avançado
Linguagem C Strings.
Vetores, Matrizes e Funções
Vetores, Matrizes e Funções
Slides Prof. Jean SIMÃO Revisão: Prof. João FABRO
Matrizes e Funções - Continuação
Fundamentos de Programação 1
Ponteiros.
Escola Secundária c/ 3º CEB da Batalha
Revisão da Linguagem C.
O Portal do Estudante de Computação
Vetor de Ponteiros Exemplo de Alocação. Escrever Vetor de Vetores de floats int main() { int i, k, n; float **vetor; // vetor de vetores int *tamanho;
APRESENTAÇÃO: GIANCARLO DE GUSMÃO GONÇALVES CURSO DE C AULA 08: Tipos Estruturados.
Prof.° Jean Daniel Henri Merlin Andreazza Estrutura de Dados
Ponteiros Variáveis do tipo “ponteiro” armazenam endereços de memória
Aula prática 9 Alocação Dinâmica Monitoria de Introdução à Programação
Aula prática 8 Ponteiros Monitoria de Introdução à Programação.
1 Ponteiros Ponteiros são variáveis que guardam localizações em memória. A declaração de uma variável ponteiro x para um dado tipo type é type *x; Essa.
PROGRAMAÇÃO ESTRUTURADA II
Definição de Tipos Estruturas e Ponteiros
CADEIA DE CARACTERES (Strings)
Estrutura de dados II Carlos Oberdan Rolim Ciência da Computação Sistemas de Informação.
Linguagem de programação I A Carlos Oberdan Rolim Ciência da Computação Sistemas de Informação.
PROGRAMAÇÃO I PONTEIROS.
UNIDADE 5 ESTRUTURAS DE DADOS HOMOGÊNEAS
Curso de C/C++ Aula 2 Instrutor: Luiz Felipe Sotero
Linguagem C : Ponteiros
Estruturas de Dados Aula 5: Matrizes
Vetor Prof. Guilherme Baião S. Silva Adaptações:
Algoritmos e Estruturas de Dados I – Ponteiros
Educação Profissional Técnica de Nível Médio Curso Técnico de Informática
Aula P.02 – BCC202 Revisão sobre Ponteiros Túlio Toffolo
1 Alocação Dinâmica Quando se declara arrays o tamanho deve ser fixo e definido primeiramente –Alocação estática Pode-se alocar dinamicamente o espaço.
Joaquim José Hangalo  Podemos entender a memória do computador como um conjunto de células que armazenam informações.  Cada célula.
CES-10 INTRODUÇÃO À COMPUTAÇÃO Aulas Práticas – 2014 Capítulo VII Variáveis Indexadas Numéricas.
Linguagem de programação I A Carlos Oberdan Rolim Ciência da Computação Sistemas de Informação Versão: _01.
Linguagem de programação I A Carlos Oberdan Rolim Ciência da Computação Sistemas de Informação Versão: _01.
Linguagem de programação I A Carlos Oberdan Rolim Ciência da Computação Sistemas de Informação.
MC102 - Algoritmos e Programação de Computadores 14ª Aula - Ponteiros Amanda Meincke Melo Instituto de Computação/Unicamp 1º Sem/2005.
Algoritmos e Programação MC102 Prof. Paulo Miranda IC-UNICAMP Aula 15 Ponteiros.
Programação Computacional Aula 8: Entrada e Saída pelo Console Prof a. Madeleine Medrano
Programação de Computadores I – Ponteiros Profa. Mercedes Gonzales Márquez.
Ponteiros em C Prof. Kariston Pereira
Linguaguem de Programação II
Estruturas Homogêneas – Vetores e Matrizes
Ponteiros. Programação II Professora: Mai-Ly vanessa horário: ter 9h-11h; sex 11h-13h Aula 1.
Algoritmo e Estrutura de Dados I Aulas 15 – Linguagem C Alocação Dinâmica de Memória Márcia Marra
Algoritmo e Estrutura de Dados I Aulas 14 – Linguagem C Matriz Márcia Marra
Linguagem de Programação
Programação em C Aula 9.
Fundamentos de Programação 1
Aula Prática 6 Ponteiros Monitoria  Quando declaramos uma matriz:  tipo meuArray[tam];  O compilador aloca a matriz em uma região de memória.
Estruturas Homogêneas - Vetores
FUNÇÕES Dilvan Moreira (baseado em material de Z. Liang)
Transcrição da apresentação:

Ponteiros em Linguagem C

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;

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

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; 1000 1001 1002 1003 Variável Posição a 1000 1

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….

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;

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);

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)

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

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

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

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…

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]); }

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

Ponteiros em Linguagem C Vai funcionar?????

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

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

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]); }

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