Programa - PowerPoint PPT Presentation

About This Presentation
Title:

Programa

Description:

Title: Slide 1 Author. Last modified by: Rodrigo Created Date: 8/27/2005 2:16:16 PM Document presentation format: Apresenta o na tela (4:3) Other titles – PowerPoint PPT presentation

Number of Views:31
Avg rating:3.0/5.0
Slides: 22
Provided by: S692
Category:
Tags: programa

less

Transcript and Presenter's Notes

Title: Programa


1
Programação II Estruturas de Dados
  • NGUESSAN.DESIRE_at_POLI.USP.BR

2
Tipos de Dados
  • Alem dos tipos primitivos podemos agrupar sob um
    único nome um conjunto de tipos de dados não
    similares
  • Este agrupamento significa definir uma nova
    estrutura conhecida também como registro (prog
    antiga).
  • Definir um tipo de dados significa informar ao
    compilador seu
  • Nome
  • Tamanho e
  • Forma como deve ser armazenado e recuperado da
    memória

3
Tipos de Dados
  • A definição de uma estrutura não cria nenhuma
    variável, somente informa ao computador as
    características de um novo tipo de dados
  • Não há nenhuma reserva de memória
  • struct indica que um novo tipo de dados está
    sendo definido
  • O nome do novo tipo é struct ltetiquetagt

4
Tipos de Dados
  • Sintaxe
  • struct ltetiquetagt
  • // membros

5
Tipos de Dados
  • Exemplo
  • struct aluno
  • // membros
  • int mat
  • float nota3
  • float media

Désiré NGuessan
6
Tipos de Dados
  • Declarando uma variável do tipo Definido
  • struct aluno A
  • Declara uma variável do nome A do tipo struct
    aluno
  • Esta declaração reserva espaço de memória
    suficiente para armazenar todos os membros da
    estrutura

Désiré NGuessan
7
Tipos de Dados
  • Combinando declarações
  • struct aluno
  • int mat
  • float nota3
  • float media
  • jose // cria uma variavel jose do tipo aluno

Désiré NGuessan
8
Tipos de Dados
  • Novo nome para os tipos existentes typedef
  • O comando typedef não produz um novo tipo, cria
    apenas novo nome ou sinônimo para o tipo
    existente
  • Sintaxe
  • typedef lttipo Existentegt Sinônimo

Désiré NGuessan
9
Tipos de Dados
  • Exemplos
  • typedef char BYTE // cria o sinônimo BYTE
  • typedef int INTEIRO// cria o sinônimo INTEIRO
  • typedef struct aluno ALUNO// cria sinônimo
    ALUNO

Désiré NGuessan
10
Tipos de Dados
  • Acessando os Membros da estrutura
  • Uma vez criada a variável estrutura, seus membros
    podem ser acessados por meio do operador ponto
  • Exemplo
  • ALUNO A
  • A.mat 456

Désiré NGuessan
11
Tipos de Dados
  • Ponteiro para estruturas
  • Da mesma forma que podemos declarar variável do
    tipo estrutura
  • struct aluno A
  • Podemos também declarar variável do tipo
    ponteiro para estrutura
  • struct aluno A

Désiré NGuessan
12
Tipos de Dados
  • Acessando os Membros da estrutura do tipo
    ponteiro
  • Podemos acessar os membros da estrutura
    indiretamente por meio do seu ponteiro
  • Exemplo
  • (A).mat 456
  • ou
  • A-gtmat 456

Désiré NGuessan
13
Tipos de Dados
  • Criar uma estrutura para armazenar dados de um
    aluno ?

Désiré NGuessan
14
Tipos de Dados
include ltstdio.hgt include ltstdlib.hgt / Cria
uma estrutura para armazenar dados de um aluno
/ struct aluno int nmat float
nota3 float media
Désiré NGuessan
15
Tipos de Dados
int main(int argc, char argv) struct aluno
A // declara uma variavel de tipo struct Aluno
A.nmat 456 A.nota0 7.6 A.nota1
5.2 A.nota2 8.3 A.media (A.nota0
A.nota1A.nota2)/3 printf("Matricula d
Media .2f\n", A.nmat, A.media)
system("PAUSE") return 0
Désiré NGuessan
16
Tipos de Dados
Usando typedef com struct struct aluno
int nmat float nota3 float
media typedef struct aluno
Aluno Aluno Jose // declara uma variavel do
tipo aluno
Désiré NGuessan
17
Tipos de Dados
Usando typedef com struct typedef struct // não
é informada a etiqueta int nmat
float nota3 float media aluno
aluno Jose // declara uma variavel do tipo
aluno
Désiré NGuessan
18
Tipos de Dados
Passagem de Estruturas para Funções void imprime
(struct aluno A) printf(media .2f,
A.media) void imprime (struct aluno
A) printf(media .2f, A-gtmedia)

Désiré NGuessan
19
Tipos de Dados
Passagem de Estruturas para Funções int main
(void) struct aluno A imprime(A)

Désiré NGuessan
20
Tipos de Dados
Alocação dinâmica de estruturas int main (void)
struct Aluno A A (struct Aluno)
malloc (sizeof(struct Aluno ))
Désiré NGuessan
21
Tipos de Dados
Inicializando Estruturas struct Data
int dia char mes10 int ano
natal 25, dezembro,2009 ,
aniversario 29, março, 1996
Désiré NGuessan
Write a Comment
User Comments (0)
About PowerShow.com