[PR03] Funções auxiliares

[PR03] Funções auxiliares

por Renan Costa Laiz -
Número de respostas: 2

Boa tarde,

Dentro do programa stable.c podemos criar funções auxiliares, que só terão importância e uso dentro do stable.c, como por exemplo, o rehashing da hash table ou devemos seguir as funções da header rigorosamente?

Att Renan Costa Laiz

Em resposta à Renan Costa Laiz

Re: [PR03] Funções auxiliares

por José Coelho de Pina -

Oi Renan,

Legal que você perguntou.

Dentro do programa stable.c podemos criar funções auxiliares, que só terão importância e uso dentro do stable.c,

Sim.
Vocês podem.
Isso corresponde aos métodos private em Java, como você disse.

Aproveitando a deixa...
É bom declarar essas funções que não fazem parte da API (=stable.h) com o modificador static.
Em C isso terá efeito semelhante ao private.
A função só poderá ser usada dentro do arquivo (stable.c) em que foi declarada.
Por exemplo, seria de se esperar haver uma função static mais ou menos como

/* 
 * hash
 *
 * RECEBE uma string CHAVE e RETORNA o seu codigo de
 * dispersao (= 'hash code').  Em outras palavras, a funcao
 * retorna o indice h da tabela de dispersao que aponta para
 * a lista ligada das chaves que tem h como codigo. E' nessa
 * lista o lugar de CHAVE na tabela de simbolos.
 *     
 */
static long
hash(Chave chave, long M)
{
  [...]
}