Я читал учебники из Интернета о создании структуры, а затем инициализировал ее в main(). Из учебников я следовал, я создал свой собственный пример, который выглядит следующим образом:Объявление и инициализация C-структуры
#include <stdio.h>
struct test {
int num;
};
main() {
test structure;
}
Однако, это не работает:
test.c: In function 'main':
test.c:8: error: 'test' undeclared (first use in this function)
test.c:8: error: (Each undeclared identifier is reported only once
test.c:8: error: for each function it appears in.)
test.c:8: error: expected ';' before 'structure'
Но когда я изменяю:
test structure;
к:
struct test structure;
в компилирует код. Почему это так? Из многочисленных примеров, которые я рассмотрел, кажется, что мне не нужна структура «структура» до «тестовой структуры».
Спасибо за вашу помощь/комментарии/ответы.
Возможный дубликат [typedef требуется в описании структуры] (http://stackoverflow.com/questions/17124902/typedef-required-in-struct-declaration) –
Являются ли эти учебники C или учебники на C++? – luiscubal
Я бы сказал, что это дубликат. Мои извинения, я попытался найти ответ до публикации, но я не включил слово «typedef» в мой поиск, поэтому ссылка, которую вы опубликовали, не появилась. Спасибо. –