В C существует такое понятие, как тег структуры, объединения или перечисления. Соответственно, идентификатор может обозначать тег. Чтобы отличить guish такой идентификатор от идентификатора других идентификаторов переменных, которые обозначают теги, используются вместе с ключевыми словами struct, union и enum.
Например, рассмотрим следующую демонстрационную программу.
#include <stdio.h>
int main(void)
{
struct x
{
int x;
} x = { 10 };
printf( "x.x = %d\n", x.x );
return 0;
}
Выходные данные:
x.x = 10
Здесь то же имя x
используется для обозначения тега структуры, члена структуры и переменной типа структуры.
В C ++ термин «имя класса» используется так же, как и имя любой другой сущности. В C ++ есть пространства имен, которые позволяют размещать объекты с одинаковыми именами в разных пространствах имен, чтобы избежать коллизий.