Carregar apresentação
A apresentação está carregando. Por favor, espere
PublicouLuísa Paula Alterado mais de 9 anos atrás
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: ->
Apresentações semelhantes
© 2024 SlidePlayer.com.br Inc.
All rights reserved.