Ciências
1. Estruturas estáticas
Estruturas Estáticas são tipos de estruturas limitadas já que o tamanho máximo a ser utilizado é definido antes mesmo de o programa ser executado.
1.2 Lista Sequencial
Uma lista Sequencial é dita seqüencial pelo fato de que os dados são guardados em uma seqüência e esta lista não possui um comportamento, logo manipulamos todos os elementos utilizando o índice do vetor para isso.
Estrutura
Conteúdo
Índice
Lista
A B C D E F G
0 1 2 3 4 5 6
Esta Lista possui ‘7’ (sete) elementos neste momento e está cheia, para consultarmos o elemento ‘F’ da lista basta escolher a lista na posição ‘5’ (cinco), ‘Lista*5+’ que equivale a ‘F’;
A estrutura da lista estática pode ser assim declarada:
#define max 7 // definimos um tamanho máximo typedef struct TLista{ //criamos o protótipo da estrutura char vetor[max]; // dentro da estrutura criamos o vetor que armazena as informações int quantidade; // e um inteiro que manipula o número de elementos que existem na lista
}Lista; // esse é o nome final da estrutura
Agora nossa ‘Lista’ se tornou um tipo que pode ser usada para declarar variáveis.
Exemplo: int valor; // valor é uma variável do tipo inteiro
Lista list; // list é uma variável do tipo Lista
Criada a lista temos que definir de onde a nossa lista parte, para isso zera-se a quantidade e a nossa Lista passará a ter ‘0’ elementos. Vamos criar uma função InicializarLista que irá realizar esta tarefa. Como parâmetro¹ da função passamos o ponteiro (*) da Lista para realizarmos alteração através do endereço.
Obs.: Sempre em funções que alteram a Lista passaremos o ponteiro (*).
Parâmetros – Tudo que está entre parênteses de uma função é denominado parâmetro.
void InicializarLista(Lista *L){ // nome da função com um parâmetro e sem retorno
L->quantidade = 0; // dizemos a quantidade da lista é zero, pois, não possui elementos
}
Para acessarmos a informação de um ponteiro de uma estrutura usamos ‘->’