Referência ao Ficheiro array.c


Descrição Detalhada

Implementação de um array dinâmico.

Autor:
Rui Carlos A. Gonçalves <rcgoncalves.pt@gmail.com>
Versão:
2.0.2
Data:
02/2009

Definido no ficheiro array.c.

Ir para o código fonte deste ficheiro.

Funções

Array newArray (int size)
 Cria um array.
void arrayDelete (Array array)
 Elimina um array.
int arrayInsert (Array array, int index, void *inf, int replace)
 Insere um elemento numa determinada posição de um array.
int arrayRemove (Array array, int index, void **inf)
 Remove um elemento numa determinada posição de um array.
int arrayAt (Array array, int index, void **inf)
 Verifica qual o elemento numa determinada posição de um array.
int arrayResize (Array array, int size)
 Altera a capacidade do array.
int arraySize (Array array)
 Determina o número de elementos de um array.
int arrayCapacity (Array array)
 Determina a capacidade de um array.
int arrayMap (Array array, void(*fun)(void *))
 Aplica uma função aos elementos de um array.
Iterator arrayIterator (Array array)
 Cria um iterador a partir de um array.


Documentação das Funções

int arrayAt ( Array  array,
int  index,
void **  inf 
)

Verifica qual o elemento numa determinada posição de um array.

Se não existir nenhum elemento na posição indicado é colocado o valor NULL em inf.

Atenção:
esta função coloca em inf o endereço do elemento pretendido; depois de executar esta função é aconselhável fazer uma cópia da informação e passar a trabalhar com a cópia para que não haja problemas de partilha de referências.
Parâmetros:
array array.
index posição do elemento que procuramos.
inf endereço onde será colocado o resultado.
Retorna:
0 se existir elemento na posição pretendida;
1 se não existir elemento na posição indicada.

Definido na linha 95 do ficheiro array.c.

int arrayCapacity ( Array  array  ) 

Determina a capacidade de um array.

Devolve o valor do campo capacity do array.

Parâmetros:
array array.
Retorna:
capacidade do array.

Definido na linha 149 do ficheiro array.c.

void arrayDelete ( Array  array  ) 

Elimina um array.

Atenção:
apenas liberta a memória referente à estrutura do array; não liberta o espaço ocupado pelos elementos nele contidos.
Parâmetros:
array array.

Definido na linha 36 do ficheiro array.c.

int arrayInsert ( Array  array,
int  index,
void *  inf,
int  replace 
)

Insere um elemento numa determinada posição de um array.

A posição, especificado pelo argumento index, tem que ser maior do que 0. Se o tamanho actual do array não permitir a inserção do novo elemento, o tamanho é aumentado e passa a ser igual ao valor de index+1 (se não for possível aumentar o tamanho do array o elemento não é inserido). Caso a posição já esteja ocupada, a variável replace determina se o valor antigo é ou não substituido (caso seja 0 não há substituição, caso tenha outro valor o novo elemento é inserido).

Atenção:
se o elemento a inserir tiver o valor NULL, este não é inserido, não sendo, como tal, incrementado o número de elementos do array.
Parâmetros:
array array.
index posição em que será inserido.
inf endereço do elemento que queremos inserir.
replace variável que determina se elementos já existente são ou não substituídos.
Retorna:
0 se o elemento for inserido;
1 se a posição já estava ocupada;
2 se o valor de index não for válido;
3 se não for possível aumentar o tamanho do array.

Definido na linha 44 do ficheiro array.c.

Iterator arrayIterator ( Array  array  ) 

Cria um iterador a partir de um array.

Se ocorrer algum erro a função devolve NULL.

Ver Também:
Iterator
Parâmetros:
array array.
Retorna:
iterador criado ou NULL.

Definido na linha 176 do ficheiro array.c.

int arrayMap ( Array  array,
void(*)(void *)  fun 
)

Aplica uma função aos elementos de um array.

A função fun tem que ser do tipo: void fun(void*).

Parâmetros:
array array.
fun função a ser aplicada.
Retorna:
0 se o array não estiver vazio;
1 se o array estiver vazio.

Definido na linha 156 do ficheiro array.c.

int arrayRemove ( Array  array,
int  index,
void **  inf 
)

Remove um elemento numa determinada posição de um array.

Permite devolver a informação do elemento removido, caso o valor de inf seja diferente de NULL. Se o elemento pretendido não existir será colocado o valor NULL em inf. Considera-se que não existe elemento numa posição do array, se o seu valor for NULL.

Atenção:
esta função não liberta a memória ocupada pela elemento removido.
Parâmetros:
array array.
index posição do elemento que queremos remover.
inf endereço onde é colocado o valor removido (ou NULL).
Retorna:
0 se o elemento for removido;
1 se não existir elemento na posição indicada.

Definido na linha 72 do ficheiro array.c.

int arrayResize ( Array  array,
int  size 
)

Altera a capacidade do array.

Apenas permite aumentar a capacidade do array.

Parâmetros:
array array.
size nova capacidade do array.
Retorna:
0 se a dimensão for alterada;
1 se ocorrer algum erro durante o redimensionamento do array;
2 se o valor da nova dimensão for inferior à dimensão actual.

Definido na linha 116 do ficheiro array.c.

int arraySize ( Array  array  ) 

Determina o número de elementos de um array.

Devolve o valor do campo size do array.

Parâmetros:
array array.
Retorna:
número de elementos do array.

Definido na linha 142 do ficheiro array.c.

Array newArray ( int  size  ) 

Cria um array.

Um array trata-se de um vector de elementos associados a uma posição, posição essa a que podemos aceder em tempo linear. Na criação do array é indicado a dimensão inicial, dimensão essa que pode posteriormente ser alterada através da função arrayResize.
Se não for possível criar o array devolve NULL.

Parâmetros:
size dimensão pretendida.
Retorna:
array inicializado ou NULL.

Definido na linha 12 do ficheiro array.c.


LibRCG © 2004-2009   Rui Carlos A. Gonçalves