Использование struct tm t; для совместимости с C, в котором объявление структуры с именем «tm» определяет тип с именем «struct tm», но не с именем «tm» (в отличие от C ++, в котором оба имени для типа объявлены).
struct tm t;
tm
struct tm