-1
struct Sensors
{
  int pin;
  int angle;
  bool state;
};

Sensors sensor[6];

How can I initialize every field of sensor like a normal array? This method

mydata data[] = { { 1, 2, 3, 4, 5, 6 }, 
                  { 0, 60, 120, 180, -120, -60 },
                  { false, false, false, false, false, false} };

doesn't work, it returns me too many initialization.

Rik99
  • 79
  • 8

2 Answers2

3

You can use aggregate initialization.

struct Sensors
{
    int pin;
    int angle;
    bool state;
};

Sensors sensor[6] = {
    { 0, 0, true },
    { 1, 0, true },
    { 2, 0, false },
    { 3, 0, false },
    { 4, 0, false },
    { 5, 0, false }
};
François Andrieux
  • 28,148
  • 6
  • 56
  • 87
2
struct Sensors
{
    int pin;
    int angle;
    bool state;
};

int main()
{
    Sensors sensor[6] = {
        { 1, 2, false },
        { 1, 2, true },
        { 1, 3, false },
        { 2, 2, false },
        { -1, -2, true },
        { 1, 2, false }
    };

    return 0;
}
nvoigt
  • 75,013
  • 26
  • 93
  • 142