foo.cДубликат определение структуры в другом исходном файле
struct foo {
int a;
};
bar.c
struct foo {
char *s;
double x,y;
};
структура определения только в .c файлов. Является ли это законным в соответствии со стандартом C? Какая часть стандарта так говорит? Редактирование: нет определения включения определения структуры.
Спасибо вам за быстрый ответ! : D
Не уверен в этом втором абзаце. Там ничего нет, говоря, что я не могу сложить слонов в моем коде;) – sje397
@ sje397: Да, но стандарт даже не вводит понятие «слон». Что касается типов структур - они существуют в стандарте, а правила объявления для структур также описаны в стандарте. В стандарте указано, что необходимо сделать, чтобы использовать типы структуры в программе, и пока эти требования соблюдены, вы в порядке. – AnT
В принципе, это похоже на вопрос, является ли законным назвать ваш тип структуры как 'Abcdef'. Как бы вы ответили на такой вопрос? Если вы просто скажете «да», тогда следующий вопрос будет о 'Dgefht' как имя типа структуры. Это нормально? И так далее ... Итак, когда дело доходит до таких вопросов, правильный ответ заключается в том, что, если стандарт не запрещает такой идентификатор, то это нормально использовать. То же самое с объявлением структуры в исходном вопросе. – AnT