typedef
- это просто миссомер (как и многие другие ключевые слова).Думайте об этом как о typealias
.
C, напротив, имеет полное представление о том, что такое совместимые типы.Это позволяет, например, связать блоки компиляции вместе, даже если объявления протопайсов функций выполняются только с совместимыми типами, а не с идентичными.Все это проистекает из простой практической необходимости в повседневной жизни, поскольку все еще может дать некоторые гарантии реализации.