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

 
 
> Область видимости enum, C
sigmaN
сообщение Oct 12 2009, 11:59
Сообщение #1


I WANT TO BELIEVE
******

Группа: Свой
Сообщений: 2 617
Регистрация: 9-03-08
Пользователь №: 35 751



На сколько я понял, если в заголовочном файле определено что-то вроде
Код
enum packetTypes{ IDPacket, BlockPacket };
то пока не определена переменная типа packetTypes - никакой памяти никуда выделяться не будет? Т.е. это почти то-же, что и typedef, только объявили множество. ?
Также верно следующее:
1. Определить переменную(в .c/.h файле) так: enum packetTypes packetType; можно только при условии include того заголовочного файле, в котором определен packetTypes
2. В любом другом файле, в котором не было include заголовочного - я никаким образом не смогу добраться до packetTypes.
3. Под enum не выделяется память(в отличие от const).
4. Глобальная переменная, определенная как enum packetTypes packetType; может быть видна из другого файла посредством extern enum packetTypes packetType; при условии, что include сделан( и,таким образом packetTypes определен)
5. Можно ли определить static enum packetTypes packetType; и ограничить область видимости переменной одним файлом?(не вижу причин, почему это может не работать. Но всё-же спрошу)
6. тип enum предполагается int. Как в Си изменить его, скажем, на unsigned int или long?

Правильно ли я мыслю? Какие из этих утверждений верны, какие нет?

А ещё всегда хотелось иметь под рукой первоисточник. Стандарт Си(какой там щас актуален).
Если можно тоже ссылочку.

Спасибо.

P.S. Навеяно прочтением книги Ален И. Голуб - Правила программирования на Си и Си++ и осознанием того, что моя программа на Си выглядит ужасно и половина возможностей языка осталась "за кадром" smile.gif


--------------------
The truth is out there...
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- sigmaN   Область видимости enum   Oct 12 2009, 11:59
- - Dima_G   ЦитатаНа сколько я понял, если в заголовочном файл...   Oct 12 2009, 12:20
- - kurtis   Цитата3. Под enum не выделяется память(в отличие о...   Oct 12 2009, 12:40
- - sigmaN   Ok. Сппсибо. Просто хотел уточнить для верности. ...   Oct 12 2009, 12:41
- - kurtis   ЦитатаСоздаёт переменную с указанным типом и имене...   Oct 12 2009, 13:02
- - Сергей Борщ   Цитата(sigmaN @ Oct 12 2009, 14:59) 6. ти...   Oct 12 2009, 13:32
- - dxp   Цитата(Dima_G @ Oct 12 2009, 19:20) Никак...   Oct 12 2009, 13:52
|- - Dima_G   Цитата(dxp @ Oct 12 2009, 17:52) А разве ...   Oct 13 2009, 05:27
|- - dxp   Цитата(Dima_G @ Oct 13 2009, 12:27) В ядр...   Oct 13 2009, 07:31
|- - zltigo   Цитата(dxp @ Oct 13 2009, 10:31) 2SigmaN:...   Oct 13 2009, 10:39
|- - Dima_G   Цитата(zltigo @ Oct 13 2009, 13:39) Если ...   Oct 13 2009, 11:30
|- - zltigo   Цитата(Dima_G @ Oct 13 2009, 14:30) А Вы ...   Oct 13 2009, 13:38
|- - Dima_G   Цитата(zltigo @ Oct 13 2009, 16:38) На вс...   Oct 13 2009, 13:55
|- - zltigo   Цитата(Dima_G @ Oct 13 2009, 16:55) а как...   Oct 13 2009, 14:03
- - sigmaN   ООоо, а про static к константе я как-то не подумал...   Oct 12 2009, 14:21
|- - demiurg_spb   Цитата(sigmaN @ Oct 12 2009, 18:21) ООоо,...   Oct 12 2009, 14:35
- - Палыч   Цитата(sigmaN @ Oct 12 2009, 14:59) А ещё...   Oct 12 2009, 14:32
- - sigmaN   Однако давно хотел спросить как это так? Код stati...   Oct 12 2009, 20:50
|- - dxp   Цитата(sigmaN @ Oct 13 2009, 03:50) Комме...   Oct 13 2009, 02:35
- - rezident   Может объяснение корявое, но я понимаю так. Вы сме...   Oct 12 2009, 22:44
- - sigmaN   Цитатаstatic const - есть правильная альтернатива ...   Oct 13 2009, 00:36
|- - rezident   Цитата(sigmaN @ Oct 13 2009, 06:36) Это я...   Oct 13 2009, 00:51
- - sigmaN   Почему Linux пишут на Си и не включат режим C++? ...   Oct 13 2009, 02:49
- - sigmaN   Ok. В следующем проекте попробуем   Oct 13 2009, 09:24
- - sigmaN   Именно поэтому я и не кинулся тут-же "включат...   Oct 13 2009, 15:36
- - dxp   Цитата(zltigo @ Oct 13 2009, 20:38) На вс...   Oct 14 2009, 02:55
|- - zltigo   Цитата(dxp @ Oct 14 2009, 05:55) Что каса...   Oct 14 2009, 14:57
|- - dxp   Цитата(zltigo @ Oct 14 2009, 21:57) Тольк...   Oct 15 2009, 03:41
||- - zltigo   Цитата(dxp @ Oct 15 2009, 06:41) Обоснуйт...   Oct 15 2009, 13:56
||- - Сергей Борщ   Цитата(zltigo @ Oct 15 2009, 16:56) funct...   Oct 15 2009, 23:51
||- - zltigo   Цитата(Сергей Борщ @ Oct 16 2009, 02:51) ...   Oct 16 2009, 08:27
||- - Сергей Борщ   Цитата(zltigo @ Oct 16 2009, 11:27) типа ...   Oct 16 2009, 09:20
|||- - zltigo   Цитата(Сергей Борщ @ Oct 16 2009, 12:20) ...   Oct 16 2009, 10:27
|||- - Сергей Борщ   Цитата(zltigo @ Oct 16 2009, 13:27) делае...   Oct 16 2009, 11:30
||- - dxp   Цитата(zltigo @ Oct 16 2009, 15:27) типа ...   Oct 17 2009, 07:21
||- - zltigo   Цитата(dxp @ Oct 17 2009, 10:21) Если для...   Oct 17 2009, 08:06
|- - Dima_G   Цитата(zltigo @ Oct 14 2009, 18:57) Я тут...   Oct 15 2009, 04:11
|- - dxp   Цитата(Dima_G @ Oct 15 2009, 11:11) Тут в...   Oct 15 2009, 05:35
- - sigmaN   Потом как-нибудь попробую. Проект не супер большо...   Oct 14 2009, 19:15
- - kurtis   ЦитатаСкажите, пожалуйста, как в данном конкретном...   Oct 15 2009, 15:19
- - zltigo   Цитата(kurtis @ Oct 15 2009, 18:19) ну а ...   Oct 15 2009, 16:06
- - kurtis   Цитата(zltigo @ Oct 15 2009, 19:06) Ну а ...   Oct 15 2009, 16:39
- - zltigo   Цитата(kurtis @ Oct 15 2009, 19:39) могу ...   Oct 15 2009, 18:11


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

 


RSS Текстовая версия Сейчас: 18th July 2025 - 16:45
Рейтинг@Mail.ru


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