Конечно, только K & R, вероятно, знает истинный ответ, но я подозреваю, что это просто "инцидент" по историческим причинам реализации. Например, дизайн этой функции может быть начат как void time(time_t*)
, потому что в какой-то форме pre-ansi C просто не было возможности вернуть значение типа time_t
, и только позднее она превратилась в функцию, возвращающую значение.
Если это объяснение, то причина сохранения параметра в любом случае, конечно, обратно совместима с существующим кодом.