1 / 12

Estruturas (struct)

Estruturas (struct). Marco Antonio Montebello Júnior marco.antonio@aes.edu.br. Estruturas de Dados. Estruturas. É uma coleção de variáveis referenciadas por um nome Podemos armazenar as coordenadas (x,y) de um ponto. Estruturas.

knox-abbott
Download Presentation

Estruturas (struct)

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. Estruturas (struct) Marco Antonio Montebello Júnior marco.antonio@aes.edu.br Estruturas de Dados

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

  3. 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 Estrutura de Dados

  4. Declaração structidentificador { tipo1 nome1; tipo2 nome2; ... tipoN nomeN; } var_struct; • Pode conter um número arbitrário de dados de tipos diferentes • Pode-se nomear a estrutura para referencia-la • O identificadorou var_struct podem ser omitidos mas não ambos Estrutura de Dados

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

  6. 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; Estrutura de Dados

  7. 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 Estrutura de Dados

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

  9. 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); } Estrutura de Dados

  10. 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 } Estrutura de Dados

  11. 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); } Estrutura de Dados

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

More Related