реклама на сайте
подробности

 
 
> Помогите со структурой, объявление и использование структуры
day177
сообщение Feb 2 2007, 13:02
Сообщение #1


Участник
*

Группа: Новичок
Сообщений: 34
Регистрация: 25-01-07
Пользователь №: 24 755



Помогите пожалуйста! есть вот такая структура:
Код
typedef struct{
unsigned char second;
unsigned char minute;
unsigned char hour;                                          
}time;

вот никак не могу разобраться с двумя вещами: 1)что означает строчка после структуры
Код
time t;

2)и потом в тексте прогрмаммы
Код
t.x=...; t.y=...;...

вроде как обращение к члену структуры можно делать как "имя структуры.имя члена", но в данном случае у структуры нет имени. Тогда что такое time t; после описания структуры В общем полная непонятка. help.gif
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
SasaVitebsk
сообщение Feb 2 2007, 13:29
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 2 712
Регистрация: 28-11-05
Из: Беларусь, Витебск, Строителей 18-4-220
Пользователь №: 11 521



Я конечно не супер разбираюсь, но насколько я читал/понял для того чтобы ввести тег структуры необходимо писать по другому

Вот так.

Код
struct time {
unsigned char second;
unsigned char minute;
unsigned char hour;                                          
};

time t;

...

t.second = 5;


Если же написано так как было написано, то есть:
Код
typedef struct{
unsigned char second;
unsigned char minute;
unsigned char hour;                                          
}time;


То сразу объявлен экземпляр структуры. И можно сразу его использовать. Я, к примеру так и делаю. То есть.
Код
time.second = 5;


Таким образом у Вас что-то не то написано.
Go to the top of the page
 
+Quote Post
mihask
сообщение Feb 2 2007, 13:40
Сообщение #3


Частый гость
**

Группа: Validating
Сообщений: 80
Регистрация: 7-12-05
Пользователь №: 11 905



Цитата(SasaVitebsk @ Feb 2 2007, 16:29) *
Если же написано так как было написано, то есть:
Код
typedef struct{
unsigned char second;
unsigned char minute;
unsigned char hour;                                          
}time;


То сразу объявлен экземпляр структуры. И можно сразу его использовать. Я, к примеру так и делаю. То есть.
Код
time.second = 5;


Таким образом у Вас что-то не то написано.


Помоему там typedef весь смысл объявления меняет. С typedef получается не объявление экземпляра структуры, а
объявление нового типа данных. т.е time - это новый тип данных.

Сообщение отредактировал mihask - Feb 2 2007, 13:42
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- day177   Помогите со структурой   Feb 2 2007, 13:02
- - T&D   Структура это почти тоже самое что и класс. У Вас ...   Feb 2 2007, 13:10
- - mihask   Цитата(day177 @ Feb 2 2007, 16:02) 1)что ...   Feb 2 2007, 13:11
- - _Bill   Цитата(day177 @ Feb 2 2007, 13:02) Помоги...   Feb 2 2007, 13:13
- - mihask   Цитата(day177 @ Feb 2 2007, 16:02) 2)и по...   Feb 2 2007, 13:26
|- - pokos   Цитата(SasaVitebsk @ Feb 2 2007, 13:29) Е...   Feb 2 2007, 13:40
|- - _Bill   Цитата(SasaVitebsk @ Feb 2 2007, 13:29) Я...   Feb 2 2007, 13:41
- - day177   имя структуры объявляется после зарезервированного...   Feb 2 2007, 13:51
|- - _Bill   Цитата(day177 @ Feb 2 2007, 13:51) имя ст...   Feb 2 2007, 13:55
|- - mihask   Цитата(day177 @ Feb 2 2007, 16:51) имя ст...   Feb 2 2007, 13:56
- - day177   ой - прошу прощения, только что заметил что не цел...   Feb 2 2007, 14:08
|- - _Bill   Цитата(day177 @ Feb 2 2007, 14:08) ой - п...   Feb 2 2007, 14:11
- - day177   и опять накосячил - что-то седня день не задался. ...   Feb 2 2007, 14:16
|- - _Bill   Цитата(day177 @ Feb 2 2007, 14:16) и опят...   Feb 2 2007, 14:21
- - SasaVitebsk   Вот соловей, - глаза мои невидящие. На typedef н...   Feb 2 2007, 15:05
- - _Bill   Цитата(SasaVitebsk @ Feb 2 2007, 15:05) В...   Feb 2 2007, 16:02


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 7th August 2025 - 17:07
Рейтинг@Mail.ru


Страница сгенерированна за 0.01398 секунд с 7
ELECTRONIX ©2004-2016