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

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

Programação II Estruturas de Dados

Apresentações semelhantes


Apresentação em tema: "Programação II Estruturas de Dados"— Transcrição da apresentação:

1 Programação II Estruturas de Dados
Quando se vai gerenciar um projeto, um grande desafio é definir claramente os produtos e/ou serviços relacionados aos seus objetivos, os quais serão entregues ao patrocinador/cliente, estabelecendo o escopo do trabalho que de ser realizado pela equipe do projeto 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 Quando se vai gerenciar um projeto, um grande desafio é definir claramente os produtos e/ou serviços relacionados aos seus objetivos, os quais serão entregues ao patrocinador/cliente, estabelecendo o escopo do trabalho que de ser realizado pela equipe do projeto 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> Quando se vai gerenciar um projeto, um grande desafio é definir claramente os produtos e/ou serviços relacionados aos seus objetivos, os quais serão entregues ao patrocinador/cliente, estabelecendo o escopo do trabalho que de ser realizado pela equipe do projeto Désiré NGuessan

4 Tipos de Dados Sintaxe struct <etiqueta> { // membros };
Quando se vai gerenciar um projeto, um grande desafio é definir claramente os produtos e/ou serviços relacionados aos seus objetivos, os quais serão entregues ao patrocinador/cliente, estabelecendo o escopo do trabalho que de ser realizado pela equipe do projeto Désiré NGuessan

5 Tipos de Dados Exemplo struct aluno { // membros int mat;
float nota[3]; float media; }; Quando se vai gerenciar um projeto, um grande desafio é definir claramente os produtos e/ou serviços relacionados aos seus objetivos, os quais serão entregues ao patrocinador/cliente, estabelecendo o escopo do trabalho que de ser realizado pela equipe do projeto Désiré NGuessan 5

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 Quando se vai gerenciar um projeto, um grande desafio é definir claramente os produtos e/ou serviços relacionados aos seus objetivos, os quais serão entregues ao patrocinador/cliente, estabelecendo o escopo do trabalho que de ser realizado pela equipe do projeto Désiré NGuessan 6

7 Tipos de Dados Combinando declarações struct aluno { int mat;
float nota[3] float media; } jose; // cria uma variavel jose do tipo aluno Quando se vai gerenciar um projeto, um grande desafio é definir claramente os produtos e/ou serviços relacionados aos seus objetivos, os quais serão entregues ao patrocinador/cliente, estabelecendo o escopo do trabalho que de ser realizado pela equipe do projeto Désiré NGuessan 7

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; Quando se vai gerenciar um projeto, um grande desafio é definir claramente os produtos e/ou serviços relacionados aos seus objetivos, os quais serão entregues ao patrocinador/cliente, estabelecendo o escopo do trabalho que de ser realizado pela equipe do projeto Désiré NGuessan 8

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 Quando se vai gerenciar um projeto, um grande desafio é definir claramente os produtos e/ou serviços relacionados aos seus objetivos, os quais serão entregues ao patrocinador/cliente, estabelecendo o escopo do trabalho que de ser realizado pela equipe do projeto Désiré NGuessan 9

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; Quando se vai gerenciar um projeto, um grande desafio é definir claramente os produtos e/ou serviços relacionados aos seus objetivos, os quais serão entregues ao patrocinador/cliente, estabelecendo o escopo do trabalho que de ser realizado pela equipe do projeto Désiré NGuessan 10

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; Quando se vai gerenciar um projeto, um grande desafio é definir claramente os produtos e/ou serviços relacionados aos seus objetivos, os quais serão entregues ao patrocinador/cliente, estabelecendo o escopo do trabalho que de ser realizado pela equipe do projeto Désiré NGuessan 11

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; Quando se vai gerenciar um projeto, um grande desafio é definir claramente os produtos e/ou serviços relacionados aos seus objetivos, os quais serão entregues ao patrocinador/cliente, estabelecendo o escopo do trabalho que de ser realizado pela equipe do projeto Désiré NGuessan 12

13 Tipos de Dados Criar uma estrutura para armazenar dados de um aluno ?
Quando se vai gerenciar um projeto, um grande desafio é definir claramente os produtos e/ou serviços relacionados aos seus objetivos, os quais serão entregues ao patrocinador/cliente, estabelecendo o escopo do trabalho que de ser realizado pela equipe do projeto Désiré NGuessan 13

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; }; Quando se vai gerenciar um projeto, um grande desafio é definir claramente os produtos e/ou serviços relacionados aos seus objetivos, os quais serão entregues ao patrocinador/cliente, estabelecendo o escopo do trabalho que de ser realizado pela equipe do projeto Désiré NGuessan 14

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; } Quando se vai gerenciar um projeto, um grande desafio é definir claramente os produtos e/ou serviços relacionados aos seus objetivos, os quais serão entregues ao patrocinador/cliente, estabelecendo o escopo do trabalho que de ser realizado pela equipe do projeto Désiré NGuessan 15

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 Quando se vai gerenciar um projeto, um grande desafio é definir claramente os produtos e/ou serviços relacionados aos seus objetivos, os quais serão entregues ao patrocinador/cliente, estabelecendo o escopo do trabalho que de ser realizado pela equipe do projeto Désiré NGuessan 16

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 Quando se vai gerenciar um projeto, um grande desafio é definir claramente os produtos e/ou serviços relacionados aos seus objetivos, os quais serão entregues ao patrocinador/cliente, estabelecendo o escopo do trabalho que de ser realizado pela equipe do projeto Désiré NGuessan 17

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); Quando se vai gerenciar um projeto, um grande desafio é definir claramente os produtos e/ou serviços relacionados aos seus objetivos, os quais serão entregues ao patrocinador/cliente, estabelecendo o escopo do trabalho que de ser realizado pela equipe do projeto Désiré NGuessan 18

19 Tipos de Dados Passagem de Estruturas para Funções int main (void) {
struct aluno *A; imprime(&A); } Quando se vai gerenciar um projeto, um grande desafio é definir claramente os produtos e/ou serviços relacionados aos seus objetivos, os quais serão entregues ao patrocinador/cliente, estabelecendo o escopo do trabalho que de ser realizado pela equipe do projeto Désiré NGuessan 19

20 Tipos de Dados Alocação dinâmica de estruturas int main (void) {
struct Aluno *A; A= (struct Aluno*) malloc (sizeof(struct Aluno )) ; } Quando se vai gerenciar um projeto, um grande desafio é definir claramente os produtos e/ou serviços relacionados aos seus objetivos, os quais serão entregues ao patrocinador/cliente, estabelecendo o escopo do trabalho que de ser realizado pela equipe do projeto Désiré NGuessan 20

21 Tipos de Dados Inicializando Estruturas struct Data { int dia;
char mes[10]; int ano; } natal = {25, “dezembro”,2009} , aniversario = {29, “março”, 1996}; Quando se vai gerenciar um projeto, um grande desafio é definir claramente os produtos e/ou serviços relacionados aos seus objetivos, os quais serão entregues ao patrocinador/cliente, estabelecendo o escopo do trabalho que de ser realizado pela equipe do projeto Désiré NGuessan 21


Carregar ppt "Programação II Estruturas de Dados"

Apresentações semelhantes


Anúncios Google