Предыдущая тема :: Следующая тема |
Автор |
Сообщение |
straustrup Гость
|
Добавлено: Пн Фев 25 2002 22:10 Заголовок сообщения: По классическим Сям вопрос |
|
|
видим такую штуку
typedef struct options_list { здесь описание структуры...в битовом виде т е типа field1:2 field2:4 } OPTIONS; Вопроса; что здесь options_list а что OPTIONS вроде options_list это типа для описанной структуры....а OPTIONS новая переменная этого типа...но далее видим extern OPTIONS Options и после этого Options используется как переменная а не как тип.... вот....так что эе все-таки в данном случае OPTIONS тип? |
|
Вернуться к началу |
|
|
JekLove
Зарегистрирован: 22.02.2002 Сообщения: 41 Откуда: Новосибирск
|
Добавлено: Вт Фев 26 2002 07:11 Заголовок сообщения: Re: По классическим Сям вопрос |
|
|
OPTIONS - это псевдоним для структуры options_list. Видишь typedef перед словом struct? Эта фишка используется для того, чтобы не приходилось каждый раз писать слово struct при объявлении переменной. Если бы не typedef, переменные типа этой структуры объявлялись и использовались бы так: struct options_list a, b, c; struct options_list * ptr; void my_func(struct options_list * v) {...} и тд. |
|
Вернуться к началу |
|
|
Mike
Зарегистрирован: 17.11.2001 Сообщения: 339 Откуда: ekb
|
Добавлено: Чт Фев 28 2002 14:15 Заголовок сообщения: Re: По классическим Сям вопрос |
|
|
Если я правильно понял, то могу сказать только одно: в языке С и С++ маленькие и большие буквы отличаются, т.е. OPTIONS и Options - разные вещи, таким образом OPTIONS - имя типа данных, а Options - имя переменной |
|
Вернуться к началу |
|
|
nut888 Гость
|
Добавлено: Чт Мар 14 2002 11:03 Заголовок сообщения: Re: По классическим Сям вопрос |
|
|
OPTIONS Это тип options_list - Это так называемый протопип Используется обычно для того чтобы иметь возможность использовать это имя до того как тип описан Например для объявления указателя на себя В данном примере он необязателен
typedef используется для описания новых типов
Например
typedef int int_t, *int_p_t, (*int_f_t)(); int_t, int_p_t, int_f_t - Типы
typedef struct tree{ double val; tree *left; tree *right; } tree; |
|
Вернуться к началу |
|
|
|