Hola do-while.
Muchas gracias por tus explicaciones, me han sido de mucha utilidad.
Problema solucionado.
Un saludo.
Muchas gracias por tus explicaciones, me han sido de mucha utilidad.
Problema solucionado.
Un saludo.
Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.
Mostrar Mensajes Menú
/* Definicion del tipo */
typedef struct {
size_t capacidad;
size_t numElementos;
size_t tamClave;
size_t tamValor;
void *claves;
void *valores;
FuncionComparacion compara;
} Tabla;
/* Crea una tabla. El booleano devuelto indica si se pudo crear la tabla */
bool tablaCrea( Tabla * tablaA, size_t capacidad, size_t tamClave, size_t tamValor, FuncionComparacion compara ){
bool res=true;
tablaA->capacidad=capacidad;
tablaA->tamClave=tamClave;
tablaA->tamValor=tamValor;
tablaA->compara=compara;
tablaA->numElementos=0;
tablaA->claves=(void *) malloc (tamClave*capacidad);
tablaA->valores=(void *) malloc (tamValor*capacidad);
if(tablaA->claves== NULL || tablaA->valores==NULL ||compara==NULL||capacidad==0||tamClave==0||tamValor==0||tablaA==NULL)
res=false;
return res;
}
/* Indica si la tabla es o no valida */
bool tablaEsValida( Tabla *tablaA ){
return (tablaA!=NULL);
}
/* Libera la tabla. El valor devuelto indica si la operación se ha podido
realizar */
bool tablaLibera( Tabla *tablaA ){
if(tablaA!=NULL){
free(tablaA->claves);
tablaA->claves=NULL;
free(tablaA->valores);
tablaA->valores=NULL;
free(tablaA);
tablaA=NULL;
return true;
}else{
return false;
}
}
/* Liberamos la tabla y comprobamos que deja de ser válida*/
tablaLibera( &tablaIntInt );
assert( !tablaEsValida( &tablaIntInt ) );