69 / 63 / 5
Регистрация: 09.06.2012
Сообщений: 291
1

Волшебные вещи с typedef struct

15.07.2012, 22:44. Показов 2806. Ответов 13
Метки нет (Все метки)

у меня сейчас мозг взорвется не пойму в чем ошибка,где я не так делаю?
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
#include <stdio.h>
#include <locale.h>
#include <stdlib.h>
#include <Windows.h>
#define _CRT_SECURE_NO_WARNING
 
#define MaxNameL 32
#define MaxGroundL 3
typedef struct student
{
    char last_name[MaxNameL];
    int ground[MaxGroundL];
 
};
 
 
int main()
{
 
        student s;
        s.ground[0] = 4;
 
         student group[] =
{
   {"Petrovna", {3,3,3} }
};
 
    system("PAUSE");
    return 0;
}
ошибки :
C++
1
2
3
4
5
6
7
8
9
Ошибка    1   error C2065: student: необъявленный идентификатор
Ошибка    2   error C2146: синтаксическая ошибка: отсутствие ";" перед идентификатором "s"  
Ошибка    3   error C2065: s: необъявленный идентификатор   
Ошибка    4   error C2065: s: необъявленный идентификатор
Ошибка    5   error C2224: выражение слева от ".ground" должно иметь тип структуры или объединения   
Ошибка    6   error C2065: student: необъявленный идентификатор
Ошибка    7   error C2146: синтаксическая ошибка: отсутствие ";" перед идентификатором "group"
Ошибка    8   error C2065: group: необъявленный идентификатор
Ошибка    9   error C2059: синтаксическая ошибка: ]
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
15.07.2012, 22:44
Ответы с готовыми решениями:

Typedef struct
Здравствуйте форумчане. С недавних пор пытаюсь научиться работать с микроконтроллерами....

typedef struct ....
Здравствуейте. Обьясните пожалуйсто новичку что означает этот код. typedef struct { long...

typedef struct
а зачем вы используете конструкцию typedef struct name{...} ? и какие она дает преимущества в...

typedef struct
Ребята, нужна помощь. Первый раз использую typedef struct. Вроде бы всё работает, но хочу...

13
2554 / 1319 / 178
Регистрация: 09.05.2011
Сообщений: 3,086
Записей в блоге: 1
15.07.2012, 22:51 2
C
1
2
3
4
typedef struct
{
    // vars
} student;
А в C++ typedef и не требуется.
1
69 / 63 / 5
Регистрация: 09.06.2012
Сообщений: 291
15.07.2012, 22:53  [ТС] 3
Пишу на с
visual studio 2012
console application main.c

soon
все равно ошибки остались

сделал вот так
C++
1
2
3
4
5
6
typedef struct 
{
    char last_name[MaxNameL];
    int ground[MaxGroundL];
 
} student;
Осталось 4 ошибки
C++
1
2
3
4
Ошибка    1   error C2275: student: недопустимое использование этого типа в качестве выражения
Ошибка    2   error C2146: синтаксическая ошибка: отсутствие ";" 
Ошибка    3   error C2065: group: необъявленный идентификатор   
Ошибка    4   error C2059: синтаксическая ошибка: ]
0
бжни
2473 / 1684 / 135
Регистрация: 14.05.2009
Сообщений: 7,162
15.07.2012, 23:01 4
xADMIRALx, http://codepad.org/y3i9GjAm
1
2554 / 1319 / 178
Регистрация: 09.05.2011
Сообщений: 3,086
Записей в блоге: 1
15.07.2012, 23:02 5
Закомментил весь платформозависимый код - заработал. Попробуйте
C
1
2
3
4
typedef struct _student
{
    // vars
} student;
1
69 / 63 / 5
Регистрация: 09.06.2012
Сообщений: 291
15.07.2012, 23:06  [ТС] 6
Блин что делать тогда?Компилятор менять что ли ?

Добавлено через 2 минуты
soon
Уф блин спасибо!!Очень выручили...Можна узнать как вы определили то что там ошибка ?
0
2554 / 1319 / 178
Регистрация: 09.05.2011
Сообщений: 3,086
Записей в блоге: 1
15.07.2012, 23:09 7
xADMIRALx, это все телепатия. За время, проведенное на форуме, я успел ее немного подкачать.
1
69 / 63 / 5
Регистрация: 09.06.2012
Сообщений: 291
15.07.2012, 23:15  [ТС] 8
soon
Не подскажете IDE под C что бы подобных ошибок не было?
0
бжни
2473 / 1684 / 135
Регистрация: 14.05.2009
Сообщений: 7,162
15.07.2012, 23:18 9
xADMIRALx, а что за компилятор такой?
у меня 10ая студия компилит и как с и как с++
1
2554 / 1319 / 178
Регистрация: 09.05.2011
Сообщений: 3,086
Записей в блоге: 1
15.07.2012, 23:20 10
Подобные ошибки будут до тех пор, пока сами с ними не столкнетесь. IDE тут никак не поможет(ну разве что(в вашем случае) сниппет изначально корректный подсунет). На правах рекламы - vim и ST2(хотя, ни то, ни то не IDE). А вопросы по Си решаются в другом разделе.
1
69 / 63 / 5
Регистрация: 09.06.2012
Сообщений: 291
15.07.2012, 23:24  [ТС] 11
alex_x_x
2012 vs у меня тоже С компилит,только вот не давно начали сыпаться не понятные ошибки

soon
а как в дольнейшем бороться с такими ероррами?
0
2554 / 1319 / 178
Регистрация: 09.05.2011
Сообщений: 3,086
Записей в блоге: 1
15.07.2012, 23:28 12
xADMIRALx, в вашем случае это была ошибка синтаксиса, поэтому гуглиться должна на ура. Другой вопрос, насколько эта ошибка обоснована - тут мало что скажу, поскольку первый вариант у меня компилился всегда без проблем. Да и не особо я в Си силен.
1
8 / 8 / 2
Регистрация: 14.01.2013
Сообщений: 141
18.04.2013, 19:31 13
Цитата Сообщение от soon Посмотреть сообщение
Закомментил весь платформозависимый код - заработал. Попробуйте
C
1
2
3
4
typedef struct _student
{
    // vars
} student;
А зачем здесь _student и почему student указано не на месте имени структуры, а на месте создания объекта. То есть тут в коде typedef под student имеется ввиду, что это не создание объекта структуры _student, а алиас для структуры student и если сделать потом создание объекта в другом месте такого вида : student obj; , то это будет значить, что создался объект структуры _student. Если все так, то зачем это все, проще же сразу написать _student obj?
0
503 / 352 / 94
Регистрация: 22.03.2011
Сообщений: 1,112
18.04.2013, 19:44 14
C++
1
2
3
4
5
6
7
8
9
10
11
12
struct A {...};
 
...
stuct A a; //это в си
A a; //это с++
....
//для этого
typdef _A{...} A;
//но проще typdef {...} A; здесь используется noname понятие
 
A a; // это легально теперь и в си
A a; //тоже вы получите и в с++
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
18.04.2013, 19:44
Помогаю со студенческими работами здесь

typedef struct + TXT
Такое вот задание.. есть TXT файл, пропарсить смогу сам, а дальше не знаю что делать, допустим,...

Для чего typedef struct
Часто в &quot;профессиональном&quot; коде вижу - typedef struct MyStruct { // ... } MyStuct; даёт ли...

Программа через структуру typedef struct
Люди помогите если несложно с программой, задание таково: 1.С клавиатуры вводятся пункты...

Typedef void F(); typedef для типа функции через идентификатор
Здравствуйте цитата из typedef MSDN в интернете мне удалось нарыть только один конкретный...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
14
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru