? Programadores usam a linguagem de programação C para sistemas de software e código de baixo nível . Devido a isso, uma das capacidades do C é a criação de estruturas de dados complexas . Estas estruturas contêm os dados recolhidos em conjunto , geralmente representando um pedaço maior de dados com muitos valores relevantes . O acesso a estes valores significa referenciá-los com a estrutura utilizando um dos "ponto" especial e notações " seta " ( dependendo da situação ) . Estruturas C
Criando um tipo de dados complexos em C envolve criando o que é conhecido como uma estrutura, usando a palavra-chave " struct " . Estas estruturas normalmente irá conter dois ou mais variáveis , e representam um tipo de dados coerentes ( em vez de apenas na qualidade de uma recolha de dados aleatórios ) . Por exemplo , a seguinte estrutura C representa um nó de uma estrutura de dados maior e contém uma parte de dados , e um ponteiro para uma outra estrutura do mesmo tipo :
struct nó {
int dados = 1;
struct * Nó próximo ;
};
Ponteiros
Dentro da estrutura " Nó" existe uma ponteiro para outra estrutura Node . Ponteiros para estruturas são muito comuns ao passar variáveis de estrutura de funções. Eles também são um fator ao decidir qual notação um programador deve usar para fazer referência a dados da estrutura . Ponteiros criar uma referência de memória para um tipo de dados, ao invés de criar uma variável rasa para o tipo de dados . Assim, no exemplo a seguir , a primeira declaração declara uma estrutura variável em âmbito local, o que significa que tem de ser copiado e movimentados. A segunda declaração declara um ponteiro para uma estrutura na memória que permite coisas como a alocação dinâmica de memória :
struct Node x ;
struct Node * y ;
Dot Notation
a notação necessária para acessar os dados em estruturas depende do contexto da estrutura. Se o programador declara uma variável de estrutura como uma variável local, então ela vai acessar os dados por meio de notação de ponto . A notação de ponto simplesmente conecta uma estrutura variável e um membro de estrutura de dados através de um símbolo de ponto ( " . " ) . Os exemplos a seguir mostram como o programador iria recuperar dados de uma variável do nó através de notação de ponto :
struct Node x ;
int j = x.data //j agora é igual a um
Seta Notation
o outro contexto para a recuperação de dados de estruturas é quando o programador tem um ponteiro para uma estrutura em vez de uma variável local. Quando o programador cria um ponteiro para uma estrutura , duas coisas têm que acontecer . Primeiro, ela deve declarar o ponteiro estrutura. Em segundo lugar, ela deve alocar a memória para que a memória referências de ponteiro com o tamanho adequado . Então , ela pode usar a seta notação ("- >") para acessar os dados :
struct Node * y;
y = malloc ( sizeof ( struct Node ) ) //aloca memória para y no tamanho de um Node struct
int j = dados y -> //inteiro j é igual agora um