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

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

Estruturas (struct) Marco Antonio Montebello Júnior Estruturas de Dados.

Apresentações semelhantes


Apresentação em tema: "Estruturas (struct) Marco Antonio Montebello Júnior Estruturas de Dados."— Transcrição da apresentação:

1 Estruturas (struct) Marco Antonio Montebello Júnior marco.antonio@aes.edu.br Estruturas de Dados

2 Estrutura de Dados Estruturas É uma coleção de variáveis referenciadas por um nome Podemos armazenar as coordenadas (x,y) de um ponto

3 Estrutura de Dados Estruturas A palavra struct informa ao compilador que um modelo de estrutura está sendo definido. Declaração: struct coordenadas { int iX; int iY; }; A estrutura contém 2 variáveis do tipo int, e é chamada de coordenadas

4 Estrutura de Dados Declaração struct identificador { tipo1nome1; tipo2nome2;... tipoNnomeN; } var_struct; Pode conter um número arbitrário de dados de tipos diferentes Pode-se nomear a estrutura para referencia-la O identificador ou var_struct podem ser omitidos mas não ambos

5 Estrutura de Dados Nomeando uma Estrutura Caso1: struct coordenadas { int iX; int iY; }; struct coordenadas coord1, coord1; Caso2: struct { int iX; int iY; } coord1, coord2;

6 Estrutura de Dados Acessar os dados de uma Estrutura Acesso aos dados: var_struct.campo //Atribuições coord1.iX = 10; coord1.iY = 50; coord2.iX = 15; coord2.iY = 25;

7 Estrutura de Dados Operações com Estruturas Inicializando uma estrutura: struct coordenadas coord1 = {15, 38}; Atribuição entre estruturas do mesmo tipo: struct coordenadas coord1 = {15, 38}; struct coordenadas coord2; coord2 = coord1 //coord2.iX = coord1.iX e coord2.iY = coord1.iY; Os campos correspondentes das estruturas são automaticamente da origem para o destino

8 Estrutura de Dados Atribuição entre Estruturas Atenção!!! Quando a estrutura possuir ponteiros: struct Times { char*cNome; intiIdade; } tim1, tim2; tim1.cNome = “Timão”; tim1.iIdade = 96; tim2 = tim1; tim1 e tim2, apontam tim1.cNome == tim2.cNome == “Timão”

9 Estrutura de Dados Estruturas como Parâmetros de Retorno struct coordenadas coord (int iV1, int iV2) { struct coordenadas tmp; tmp.iX = iV1; tmp.iY = iV2; return (tmp); } main() { struct coordenadas ret; ret = coord(31, 23); }

10 Estrutura de Dados Passando Estruturas como Parâmetros int iResult(struct coordenadas coord1) { int iSoma; iSoma = coord1.iX + coord1.iY; return(iSoma); } main() { int iRet; struct coordenadas temp; temp.iX = 31; temp.iY = 3; iRet = iResult(temp); //iRet = 34 }

11 Estrutura de Dados Passando Ponteiros de Estruturas com Parâmetros void Pontos(struct coordenadas *coord) { coord -> iX = 19; coord -> iY = 85; } main() { struct coordenadas Param; Pontos( & Param); //X = 19 – Y = 85 printf(“X = %i - Y = %i”, Param.iX, Param.iY); }

12 Estrutura de Dados Acesso ao Ponteiro O acesso ao ponteiro da estrutura é feito através do operador: ->


Carregar ppt "Estruturas (struct) Marco Antonio Montebello Júnior Estruturas de Dados."

Apresentações semelhantes


Anúncios Google