Реклама на сайте English version  DatasheetsDatasheets

KAZUS.RU - Электронный портал. Принципиальные схемы, Datasheets, Форум по электронике

Новости электроники Новости Литература, электронные книги Литература Документация, даташиты Документация Поиск даташитов (datasheets)Поиск PDF
  От производителей
Новости поставщиков
В мире электроники

  Сборник статей
Электронные книги
FAQ по электронике

  Datasheets
Поиск SMD
Он-лайн справочник

Принципиальные схемы Схемы Каталоги программ, сайтов Каталоги Общение, форум Общение Ваш аккаунтАккаунт
  Каталог схем
Избранные схемы
FAQ по электронике
  Программы
Каталог сайтов
Производители электроники
  Форумы по электронике
Помощь проекту

Микроконтроллеры, АЦП, память и т.д Темы касающиеся микроконтроллеров разных производителей, памяти, АЦП/ЦАП, периферийных модулей...

 
Опции темы
Непрочитано 30.06.2012, 06:04  
tempora
Почётный гражданин KAZUS.RU
 
Регистрация: 10.01.2007
Сообщений: 3,412
Сказал спасибо: 65
Сказали Спасибо 664 раз(а) в 443 сообщении(ях)
tempora на пути к лучшему
По умолчанию Re: Вопрос по структуре

Сообщение от SasaVitebsk Посмотреть сообщение
...структур, где первые поля совпадают. ... Например:
Код:
struct AddrKomXx
{ ...
Забыл за другими моментами обратить внимание ТС'ра на один приём - в таких родственных структурах лучше описывать одинаковые части, как вложенные структуры:
Код:
struct KomHdr
{
 uint8_t	Name;		// Имя команды
 uint16_t	TimeStart;    	// Время начала исполнения команды
 };

struct AddrKomXx
{
 struct KomHdr	hdr;
 };

struct AddrKomC
{
 struct KomHdr	hdr;
 uint8_t        TimeMashtabTek,	// Текущее значение масштаба для времени исполнения
 ...
} *KomC;

struct AddrKomK
{
 struct KomHdr	hdr;
 uint8_t        KernTek;	 // Текущее значение масштаба для времени исполнения
 ...
} *KomK;

struct AddrKom_e
{
 struct KomHdr	hdr;
 uint8_t        TimeRealH;	 // Время реальное часы
 ...
Если потребуется в первом элементе заменить тип uint8_t на uint16_t (скажем, чтобы и подверсию хранить), то отредактировать придётся только 1 строку, а не 4. И забыть поправить в одной из четырёх структур, при таком определении, будет невозможно.
Реклама:

Последний раз редактировалось tempora; 30.06.2012 в 06:07.
tempora вне форума  
Непрочитано 30.06.2012, 14:00  
SasaVitebsk
Гражданин KAZUS.RU
 
Регистрация: 04.08.2006
Сообщений: 911
Сказал спасибо: 28
Сказали Спасибо 180 раз(а) в 139 сообщении(ях)
SasaVitebsk на пути к лучшему
По умолчанию Re: Вопрос по структуре

Сообщение от tempora Посмотреть сообщение
Забыл за другими моментами обратить внимание ТС'ра на один приём - в таких родственных структурах лучше описывать одинаковые части, как вложенные структуры:
Согласен. Это просто вырезано из реального проекта 10-ти летней давности.
Всё движется и мы не стоим на месте. Каждый новый проект, отличается от предыдущего. Ты развиваешься и тексты твои не стоят на месте. Я, обычно, всегда недоволен своими текстами.
Но в целом некоторые найденные решения, мне нравятся. И я их развиваю дальше.
SasaVitebsk вне форума  
Непрочитано 30.06.2012, 14:24  
tempora
Почётный гражданин KAZUS.RU
 
Регистрация: 10.01.2007
Сообщений: 3,412
Сказал спасибо: 65
Сказали Спасибо 664 раз(а) в 443 сообщении(ях)
tempora на пути к лучшему
По умолчанию Re: Вопрос по структуре

Сообщение от SasaVitebsk Посмотреть сообщение
Я, обычно, всегда недоволен своими текстами.
Ой, да глаза б мои на них не смотрели, на свои тексты!!!
tempora вне форума  
 

Закладки
Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Вопрос по СИ lolodin Электроника - это просто 0 13.02.2012 16:41
Вопрос по ИП stason1982 Источники питания и свет 5 04.01.2012 17:50
вопрос по си Gladkih Микроконтроллеры, АЦП, память и т.д 4 12.02.2009 22:21
ВОПРОС ПО СИ Gladkih Микроконтроллеры, АЦП, память и т.д 5 04.12.2008 16:30
Вопрос по ОУ Slava_shp Автоматика и аппаратура связи 1 02.04.2007 10:47


Часовой пояс GMT +4, время: 09:53.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot