Главная

Главная

Сообщество

Сообщество

Форум

Форум

STM32

STM32

Электроника

Электроника

Raspberry Pi

Raspberry Pi

Уведомления
Очистить всё

[Решено] Как задекларировать массив из структур?

(@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 MT
(@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 MT
(@aveal)
Top level Admin

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


ОтветЦитата
Опубликовано : 07.07.2025 11:28
Обзор конфиденциальности

На этом сайте используются файлы cookie, что позволяет нам обеспечить наилучшее качество обслуживания пользователей. Информация о файлах cookie хранится в вашем браузере и выполняет такие функции, как распознавание вас при возвращении на наш сайт и помощь нашей команде в понимании того, какие разделы сайта вы считаете наиболее интересными и полезными.