Estruturas são o grupo definido pelo usuário de tipos de dados semelhantes ou diferentes. Grupo semelhante ou diferente de tipos de dados pode ser agrupado em um nome conhecido como estruturas. Exemplo de declaração de estrutura em C:
Estrutura abcPara criar objeto a partir da declaração da estrutura, aqui está a sintaxe em C para fazê -lo:
Estrutura abc obj;Com esta criação de objetos, a memória é atribuída à estrutura. Para acessar o membro de estruturas com a ajuda do objeto (OBJ), pode ser feito como:
Obj.a = 10; obj.b = 'c'; obj.c = 1.0;É o caso quando o objeto é criado, não há necessidade de alocar nenhuma memória. Uma vez que o objeto for instanciado, a memória será alocada automaticamente.
A alocação de memória para a estrutura pode ser feita em tempo de execução. Para alocação de tempo de execução, a função malloc pode ser usada.
Haverá uma declaração de ponteiro para a estrutura. A declaração do ponteiro para a estrutura pode ser feita como estrutura abc *ptr; Com esta declaração, não haverá atribuição de nenhuma memória para o objeto de estrutura. A função malloc deve ser usada para alocar memória e abaixo é a sintaxe para fazê -lo:
Estrutura abc *ptr;Agora, o PTR terá a memória atribuída. Ele pode armazenar os dados para os elementos dos membros da estrutura.
Para acessar os membros da estrutura com a ajuda de ponteiros, podem ser feitos da seguinte forma:
Ptr-> a = 10; ptr-> b = 'c'; ptr-> c = 2.0;Até agora, discutimos o objeto de estrutura única. Ambas as formas de acesso dos elementos dos membros, vimos através de ponteiros e acesso direto com objetos.
Temos duas maneiras de definir as estruturas, primeiro é definir o objeto de estrutura e outra maneira é definir o ponteiro para a estrutura.
Objeto de estrutura: struct abc obj;Agora, vamos discutir a variedade de objetos de estrutura e matriz de ponteiros de estrutura. Array é um grupo de objetos do mesmo tipo. Por exemplo, a matriz de OBJ será declarada como Struct ABC OBJ [128]. A variedade de ponteiros para os objetos da estrutura será como estrutura abc *ptr [128]. Ambos a matriz definiram os 128 elementos de objetos de estrutura e ponteiros.
C Programa para declarar objeto de estrutura:
#incluirSaída:
Bash-4.2 $ ./a.foraO programa acima define o objeto da estrutura e uma maneira de inicializar o membro enquanto declarava o objeto. Inicializamos as variáveis do membro com valores específicos e imprimimos essas variáveis acessando os membros diretamente. A é atribuído com 1, B é atribuído com 'C' e C é atribuído com o valor da flutuação 3.4. Abaixo está o instantâneo do programa e saída.
Instantâneo:
C Programa para declarar o ponteiro para a estrutura:
#incluirSaída:
Bash-4.2 $ ./a.foraO programa acima define o ponteiro para objeto de estrutura. A função malloc é usada para alocar memória para a variável de ponteiro. Inicializamos as variáveis de membro com valores específicos e imprimimos essas variáveis acessando os membros com ponteiro. A é atribuído com 4, B é atribuído com 'D' e C é atribuído com o valor do float 5.5. Abaixo está o instantâneo do programa e saída.
Instantâneo:
Agora, vamos seguir o programa C para uma variedade de estruturas e variedade de ponteiros para estruturas.
C Programa para Matriz de Estrutura dos Objetos:
#incluirSaída:
Bash-4.2 $ ./a.foraO programa acima define a matriz de objeto de estrutura e uma maneira de inicializar os membros com a ajuda de objetos. Inicializamos as variáveis do membro com valores específicos e imprimimos essas variáveis acessando os membros diretamente. Por simplicidade, pegamos apenas 2 objetos. O primeiro objeto é atribuído com 4, b é atribuído com 'd' e c é atribuído com o valor do float 5.5. O segundo objeto A é atribuído com 5, B é atribuído com 'f' e c é atribuído com o valor da flutuação 8.2. Abaixo está o instantâneo do programa e saída.
Instantâneo:
C Programa para Matriz de Ponteiros para Estrutura de Objetos:
#incluirSaída:
Bash-4.2 $ ./a.foraO programa acima define a variedade de ponteiros para objeto de estrutura e uma maneira de inicializar os membros com a ajuda de ponteiros. Inicializamos as variáveis de membros com valores específicos e imprimimos essas variáveis acessando os membros com variáveis de ponteiro. Por simplicidade, pegamos apenas 2 ponteiros. O primeiro ponteiro para o objeto A é atribuído com 4, B é atribuído com 'D' e C é atribuído com o valor do float 5.5. O segundo ponteiro do objeto A é atribuído com 5, B é atribuído com 'f' e c é atribuído com o valor da flutuação 8.2. Abaixo está o instantâneo do programa e saída.
Instantâneos:
Conclusão:
Discutimos o tipo de dados da estrutura em C e as maneiras de declarar os objetos e ponteiros para estruturar objetos. Também discutimos poucos exemplos e com saída. Tanto os objetos quanto os ponteiros foram discutidos. Matriz de objetos e ponteiro para objetos também foram discutidos com exemplos.