1 / 22

Programação II Estruturas de Dados

Programação II Estruturas de Dados. NGUESSAN.DESIRE@POLI.USP.BR. 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).

blade
Download Presentation

Programação II Estruturas de Dados

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Programação II Estruturas de Dados NGUESSAN.DESIRE@POLI.USP.BR Désiré NGuessan

  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 Désiré NGuessan

  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 <etiqueta> Désiré NGuessan

  4. Tipos de Dados • Sintaxe struct <etiqueta> { // membros }; Désiré NGuessan

  5. Tipos de Dados Exemplo struct aluno { // membros int mat; float nota[3]; 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 nota[3] 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 <tipo Existente> 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->mat = 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 <stdio.h> #include <stdlib.h> /* Cria uma estrutura para armazenar dados de um aluno */ struct aluno { int nmat; float nota[3]; 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.nota[0] = 7.6; A.nota[1] = 5.2; A.nota[2] = 8.3; A.media = (A.nota[0] +A.nota[1]+A.nota[2])/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 nota[3]; 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 nota[3]; 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->media); } 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 mes[10]; int ano; } natal = {25, “dezembro”,2009} , aniversario = {29, “março”, 1996}; Désiré NGuessan

  22. Tipos de Dados Inicializando Estruturas email 2ASTD GOFABIANO@HOTMAIL.COM ERIC_ALISSON@HOTMAIL.COM Désiré NGuessan

More Related