Анонимная структура C с объявлением

Учитывая следующее определение:

struct
{
    int x;
    int y;
} point;


void main()
{ 
    ...
}

Вы объявляете переменную "точка" типа "анонимная структура", есть ли способ объявить другую переменную того же типа вне определения структуры (возможно, в основной функции)?

3 ответа

Решение

Нет, нет, по крайней мере, в стандартном C. Если вы хотите использовать тип, вы должны дать ему имя.

В стандартном с? Нет, ты не можешь этого сделать. Но есть расширения компилятора:

typeof(point) myPoint;

в Clang и GCC, например.

Примечание редакции: main() должен вернуться int,

Не слишком уверен, что вы спрашиваете, может быть:

void main()
{ 
    point p;
}

Также см. http://www.cs.usfca.edu/~wolber/SoftwareDev/C/CStructs.htm

Другие вопросы по тегам