Top.Mail.Ru
Уведомления
Очистить все

Как задекларировать массив из структур?

(@nikitka_1)
Level 1

Добрый вечер, прошу помочь с таким вопросом. У меня есть тип данных - структура:

typedef struct Register
{
  uint16_t address;
  uint32_t curValue;
  uint16_t prevValue;
  uint8_t size;
  uint8_t resetFlag;
} Register;

 Я хочу создать массив с переменными типа Register, но не могу понять как мне задекларировать (задать значения) для элементов этого массива:

Register registers[10] = { 
// declarations?
}
Цитата
Создатель темы Размещено : 04.07.2025 19:53
Aveal
(@aveal)
Top level Admin

Привет, так будет наиболее наглядно и удобно:

Register registers[10] = { 
    {.address = 0x0000, .curValue = 0, .prevValue = 0, .size = 1, .resetFlag = 0},
    {.address = 0x0010, .curValue = 0, .prevValue = 0, .size = 4, .resetFlag = 0},
    // ...
};

P. S. Там кстати curValue - uint32_t, а prevValue - uint16_t, из логики названий как будто бы следует, что типы должны совпадать )

ОтветитьЦитата
Размещено : 05.07.2025 14:41
(@nikitka_1)
Level 1

@aveal большое спасибо за ответ, логику декларирования уяснил)

ОтветитьЦитата
Создатель темы Размещено : 06.07.2025 11:59
(@nikitka_1)
Level 1

Запись от: @aveal

Там кстати curValue - uint32_t, а prevValue - uint16_t, из логики названий как будто бы следует, что типы должны совпадать

И за это спасибо, у меня ошибка была)

ОтветитьЦитата
Создатель темы Размещено : 07.07.2025 11:21
Aveal
(@aveal)
Top level Admin

@nikitka_1 пожалуйста  👍

ОтветитьЦитата
Размещено : 07.07.2025 11:28
Поделиться: