A nombreTVisitante
se le pasan un puntero al visitante y un array de chars, donde se debe copiar el nombre del visitante. A efectos prácticos el hecho de que diga char nombre[MAX_NOMBRE]
no cambia nada (podría decir char nombre[]
o inclusive char *nombre
y funcionaría igual), pero MAX_NOMBRE
ayuda al programador que va a invocar esa función a saber cuanto espacio debe prever en ese array para que el nombre "entre". Porque si el campo nombre
del visitante usa por ejemplo 80 caracteres y el array donde se lo quiere retornar se define como char arr_nombre[50]
, la invocación de la función incurriría en comportamiento indefinido (humorísticamente, se dice que al programador podrían llegar a salirle demonios por la nariz). Fijate esta respuesta, en la parte sobre strcpy
.
(Ídem con apellidoTVisitante
.)