zltigo 1 9 июня, 2016 Опубликовано 9 июня, 2016 · Жалоба Идентификатор (текстовый) - синоним имени Так вот ни имени, ни синонима там нет. Там есть тип. Все. Назвать все нужно своими именами. Тогда ВСЕ становится ясным. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
aiwa 0 9 июня, 2016 Опубликовано 9 июня, 2016 · Жалоба Идентификатор (текстовый) - синоним имени, когда речь идёт о тексте исходника. Или в Си он с чем-то другим связан? Или в Си++. Все верно: в качестве идентификатора используются поля вложенной структуры так, как если бы они были просто полями, без организации в анонимную структуру. К этому по сути вся анонимность и сходится. При иерархии, естественно, возникает ошибка "идентификатор уже был определен ранее". Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
GetSmart 0 9 июня, 2016 Опубликовано 9 июня, 2016 (изменено) · Жалоба Так вот ни имени, ни синонима там нет. Там есть тип. Все. Назвать все нужно своими именами. Тогда ВСЕ становится ясным. Синоним в языке общения. В том контексте. Вы приводили текстовые примеры. И программы (исходники) языка Си тоже текстовые. С какого момента последовательность букв стала именно типом? Сперва выделится лексический элемент, а потом будет происходить его поиск в допустимых списках компилятора, с учётом контекстных приоритетов и правил. Либо могут выделяться сразу несколько лексических элементов до того, как начнётся их поиск. В начале лексического анализа типов нет. Можно было бы поспорить что на этом уровне есть, но не ясно какой терминологии лучше придерживаться. Идентификатором я называл набор символов (из текста), лексическую еденицу выделенную по лексическим правилам. Соответствующую правилим задания имён (ака идентификаторов). Вы лучше объясните топикстартеру как это заявление Лично я никогда никакой разношерстности толкования компиляторами не замечал, а пользую повседневно я их 6-7 штук. Либо компилятор понимает, либо нет. После с99 понимают все. До с99 - некоторые. Поминаемый здесь Кейл, правда, не использовал сколь-нибудь серьезно никогда. решит его проблему. Какой формулировкой C99 или C11 разрешает безымянные переменные с типом struct. И какой разрешаются безымянные члены с типом struct. Изменено 10 июня, 2016 пользователем GetSmart Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
GetSmart 0 10 июня, 2016 Опубликовано 10 июня, 2016 (изменено) · Жалоба легко находится в сети Hello All In IAR C it's possible to declare a struct without an identifier, like: struct { unsigned char TempBit:1; unsigned char TempBitInt:1; unsigned char f2:1; unsigned char f3:1; unsigned char f4:1; unsigned char f5:1; unsigned char f6:1; unsigned char f7:1; }; And access the bits directly TempBit=1, In GCC however an identifier is requiered struct BTEST { unsigned char TempBit:1; unsigned char TempBitInt:1; unsigned char f2:1; unsigned char f3:1; unsigned char f4:1; unsigned char f5:1; unsigned char f6:1; unsigned char f7:1; }; And access done like BTEST.TempBit=1 ,,, Can it realy be that GCC cant handle structs without identifiers ? Best regards, У GCC тоже свои тараканы расширения. Изменено 10 июня, 2016 пользователем GetSmart Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
dimone 0 14 июня, 2016 Опубликовано 14 июня, 2016 · Жалоба Топикстартер собирался исключительно имена элементов использовать. Без иерархии... Обломался. -так наверно и получилось в Кеиле, -имена есть, а иерархии -нет, но вы держитесь (с)) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
DogPawlowa 0 14 июня, 2016 Опубликовано 14 июня, 2016 · Жалоба -так наверно и получилось в Кеиле, -имена есть, а иерархии -нет, но вы держитесь (с)) Не изучал со структурами, но анонимные юнионы в ИАРе исключены из некоторых версий компилятора. ИАР ссылается на ANSY C. Как по мне, шаг в нужном направлении, "типизация - наше всё". Хотя поначалу было непросто, обновился ради нового кристалла, а нужно все перелопатить. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться