Я верю, что в самые ранние времена члены структуры должны были быть уникальными.Использование одного и того же имени для члена в двух разных структурах не удалось.Это по-прежнему (и всегда было) верно для макросов сборки, которые помогают использовать структуры C и макросы препроцессора.
Структуры и константы прежних времен используют префикс, который обычно получается из имени структуры или контекста.Например, struct addressinfo использует префикс ai, struct sockaddr использует sa, struct sockaddr_in использует sin и т. Д.
Использование уникальных имен для каждого члена позволяет использовать одно и то же имя для кода C и asm, что делает чтение и записьКод на обоих языках проще.Нет необходимости мысленно переключать треки при переключении языка.