Cita:
Iniciado por Nivel7 EStoy de acuerdo en algunas cosas con MaxExtreme, especialmente en el doble puntero.
veamos esto:
if (!VaciaArriendo(*CabezaArriendo))
pareciera que la funcion VaciaArriendo(... trabaja con un parametro copia del tipo Arriendo por estar desrreferenciando, a menos que verifiques que CabezaArriendo es un puntero a puntero.
si tus funciones o las operacione a realizar usaran un puntero, pues es sufuciente con pasar tu dato como un puntero, a menos que tengas una funcion que trabaje con tablas(matrices).
de lo contrario, puede ser confuso y causa de problemas.
pero supongo que con modificar eso, tu programa queda muy bien.
asta quedo mas compacto que el anterior.
y con relacion al for y while, pues es cuestion de estilos, pero generalmente :
el while lo uso para verificar la activacion de una bandera, ya sea para seguir o slir de una seccion del programa, y el for es para hacer recorridos en arrays u otro tipo de contenedores.
Saludos.
Es simple: En todas las veces que escribe CabezaArriendo lo hace desreferenciándolo, *CabezaArriendo.
Que quite un * en la definición y en todos los demás sitios, y funcionará igual.
Y aún en el raro caso de que fuera una matriz de dos dimensiones, funcionaría igual, al final solo estaría accediendo a CabezaArriendo[0] continuamente.