Fundamentos de Programação 1

Slides:



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

Listas Lineares Estrutura que permite representar um conjunto de dados de forma a preservar a relação de ordem linear. Uma lista linear é composta de nós,
Funções em C.
Programação II Estruturas de Dados
Programação II Estruturas de Dados
Algoritmos e Programação Linguagens de Programação Teoria Aula (09/06)
Algoritmos e Estrutura de Dados I
Introdução a Programação
Alocação Dinâmica de Memória
Linguagem C LPG-I – Variáveis Estruturadas – Vetores
Ponteiros em C.
LPG - I: Ponteiros e Vetores/Matrizes UDESC - SBS
Estruturas de Dados I Prof.: Sergio Pacheco Prof.: Sergio Pacheco 1 1.
Estruturas de Dados II Prof.: Sergio Pacheco Prof.: Sergio Pacheco 1 1.
Universidade Federal do Espírito Santo
Universidade Federal do Espírito Santo Programação II Estruturas Professora: Norminda Luiza.
Linguagem C Funções.
Ponteiros em Linguagem C
Slides Prof. Jean SIMÃO Revisão: Prof. João FABRO
Linguagem C.
Matrizes e Funções - Continuação
Fundamentos de Programação 1
Ponteiros.
APRESENTAÇÃO: GIANCARLO DE GUSMÃO GONÇALVES CURSO DE C AULA 08: Tipos Estruturados.
Ponteiros Variáveis do tipo “ponteiro” armazenam endereços de memória
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
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.
Prof. Ricardo Santos PONTEIROS
Introdução à linguagem C
Leandro Almeida  Parâmetros são utilizados em computação para possibilitar a construção de subprogramas genéricos.
Técnicas de Desenvolvimento de Programas
F UNÇÕES : PASSAGEM DE PARÂMETROS Aluno:Kaynã Vasconcelos Santos Matéria: Estrutura de dados e algoritmos I Turma: Professor: Danilo Silva dos Santos.
Estruturas de Dados Aula 2: Estruturas Estáticas 07/04/2014.
Educação Profissional Técnica de Nível Médio Curso Técnico de Informática
Algoritmos - Profa. Alciléia1 Profa. Maria Alciléia Alves Rocha Funções em C 2011.
Aula P.02 – BCC202 Revisão sobre Ponteiros Túlio Toffolo
Declarando e Chamando Funções
 São utilizadas para dividir um código maior (mais complexo) em partes menores (mais simples).  Quando uma mesma tarefa é realizada várias vezes em um.
Joaquim José Hangalo  Podemos entender a memória do computador como um conjunto de células que armazenam informações.  Cada célula.
Linguagem de programação I A Carlos Oberdan Rolim Ciência da Computação Sistemas de Informação Versão: _01.
Revisão Luis Antonio Tavares
CES-10 INTRODUÇÃO À COMPUTAÇÃO Aulas Práticas – 2014 Capítulo IX Subprogramação e Recursividade.
Linguagem de programação I A Carlos Oberdan Rolim Ciência da Computação Sistemas de Informação Versão: _01.
CES-10 INTRODUÇÃO À COMPUTAÇÃ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.
INE - UFSC - Disciplina Estruturas de Dados - Prof. Dr. Aldo von Wangenheim Página 1 Estruturas de Dados - T.332 Capítulo 3 Parte 1: Ponteiros, Passagem.
PROGRAMAÇÃO II – PARTE 6 Profa. Maria Augusta Constante Puget.
Ponteiros em C Prof. Kariston Pereira
Linguaguem de Programação II
Estrutura de Dados Revisão Professor Luiz José Hoffmann Filho
Linguaguem de Programação II
PCI- Funções e Procedimentos Profa. Mercedes Gonzales Márquez.
Linguagem de Programação
PRE 1002 Éverlin Marques 2015/1.
Computação – Informática Aula N. 05 Prof. SIMÃO Jean Marcelo SIMÃO Linguagem C “Matrizes em C”
Fundamentos de Programação 1 Aula N. 02 Prof. SIMÃO Jean Marcelo SIMÃO Linguagem C “Laços de Repetição em C”
Fundamentos de Programação 1 Slides 12 Prof. SIMÃO Jean Marcelo SIMÃO Linguagem C “Union, Enum e Typedef ”
Fundamentos de Programação 1 Slides 7 Prof. SIMÃO Jean Marcelo SIMÃO Linguagem C “Funções”
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.
FUNÇÕES Dilvan Moreira (baseado em material de Z. Liang)
Funções definidas pelo usuário Escola Olímpio Professor Marcelo Josué Telles Linguagem de Programação I1 de 36.
Fundamentos de Programação 1
Fundamentos de Programação 1
Fundamentos de Programação 1
Transcrição da apresentação:

Fundamentos de Programação 1 Linguagem C “Ponteiros” Slice 14 Prof. SIMÃO Jean Marcelo SIMÃO

Um ponteiro é uma variável que contém um endereço de memória Um ponteiro é uma variável que contém um endereço de memória. Este endereço é normalmente a posição de uma outra variável na memória. Se uma variável contém o endereço de um outra, então a primeira variável é dita apontar para a segunda [Schiltd, 1996]. Endereço na memória Variável na memória 1000 1003 1 7 2 * 1001 1002 1003 1004

Exemplo #include <stdlib.h> #include <stdio.h> int main() { int x, y; x = 1; int* p; // Declaração de um ponteiro para inteiro. // Isto significa que p poderá apontar para um inteiro. // Um ponteiro é declarado com auxilio do * p = &x; // Aqui o ponteiro recebe o endereço da variável x na memória. // Para um ponterio receber o endereço de uma variável se faz // necessário utilizar o operador & antes da variável. y = *p; // Aqui a variável y recebe o valor da variável apontada pelo // ponteiro p. Na prática, isto significa que y terá o valor // da variável x. // Para uma variável receber o valor da variavél apontado por // um ponteiro, faz-se necessário utilizar o operador *. // Assim sendo, o operador * serve para diversas funções em C: // - serve para declarar um ponteiro. // - serve para informar o valor de uma variável apontada. // - serve para multiplicar dois números (sua função primordial). // Portanto, o uso do * depende do contexto. // ...

// ... printf ("O valor da variável x : %i. \n", x); printf ("O endereço da variável x : %p. \n", &x); printf ("\n"); printf ("O valor da variável x via o ponteiro p : %i. \n", *p); printf ("O endereço da variável x via o ponteiro p: %p. \n", p); printf ("O endereço do ponteiro p : %p. \n", &p); printf ("O valor da variável y, adquirido de x, via p: %i. \n", y); printf ("O endereço da variável y : %p. \n", &y); // O %p serve para expressar o valor de um endereço de memória. system("Pause"); return 0; }

Exemplo #include <stdlib.h> #include <stdio.h> int main() { int x, y; x = 1; int *p; p = &x; y = *p; printf ("O valor da variável x : %i. \n", x); printf ("O endereço da variável x : %p. \n", &x); printf ("\n"); printf ("O valor da variável x via o ponteiro p : %i. \n", *p); printf ("O endereço da variável x via o ponteiro p: %p. \n", p); printf ("O endereço do ponteiro p : %p. \n", &p); printf ("O valor da variável y, adquirido de x, via p: %i. \n", y); printf ("O endereço da variável y : %p. \n", &y); // O %p serve para expressar o valor de um endereço de memória. system("Pause"); return 0; }

Exemplo 2 #include <stdlib.h> #include <stdio.h> int main() { int x, y; x = 1; int *p; p = &x; y = *p; printf ("O valor da variável x : %i. \n", x); printf ("O endereço da variável x : %p. \n \n", &x); printf ("O valor da variável x via o ponteiro p : %i. \n", *p); printf ("O endereço da variável x via o ponteiro p: %p. \n", p); printf ("O endereço do ponteiro p : %p. \n \n", &p); printf ("O valor da variável y, adquirido de x, via p: %i. \n", y); printf ("O endereço da variável y : %p. \n \n", &y); *p = 5; // Aqui muda-se o valor de x via *p. printf("O novo valor da variável x : %i. \n", x); printf("O endereço da variável x : %p. \n \n", &x); printf("O novo valor da variável x via o ponteiro p: %i. \n", *p); printf("O endereço da variável x via o ponteiro p: %p. \n", p); printf("O endereço do ponteiro p : %p. \n \n", &p); . . . }

Exemplo 3 #include <stdlib.h> #include <stdio.h> // O segundo parâmetro é um ponteiro de real (float) void area_quadrado (float ld, float *ar) { // Aqui o valor da variável apontada pelo ponteiro ar será alterada. *ar = (ld * ld); // bem por isto que se diz que é uma passagem por referência... } int main() float lado, area; area = -1; lado = 2; // No segundo parâmeto passa-se o endereço da variável area // para o ponteiro ar, definido na função acima (vide acima). area_quadrado (lado, &area); printf("O valor da área é: %f \n", area); system("Pause"); return 0;