Forum: Compiler & IDEs Typdefinition eines arrays of struct


von Thomas L. (delfinis)


Lesenswert?

Hallo
ich möchte einen Typ definieren eines Arrays eines structs.
habs so versucht aber auch andere versuche gingen schief:
1
typedef struct {
2
  uint8_t sensor_type;
3
  uint16_t sensor_data;
4
} T_Sens_Data;
5
6
typedef T_Sensors sensors[SENS_COUNT];

von Rolf M. (rmagnus)


Lesenswert?

Naja, einen Typ T_Sensors gibt es in deinem Codeschnipsel nicht.

von Curby23523 N. (Gast)


Lesenswert?

Was ist "T_Sensors"?

von Chris (Gast)


Lesenswert?

Thomas L. schrieb:
> typedef struct {
>   uint8_t sensor_type;
>   uint16_t sensor_data;
> } T_Sens_Data;
>
> typedef T_Sensors sensors[SENS_COUNT];



T_Sens_Data sensors[SENS_COUNT];

von Curby23523 N. (Gast)


Lesenswert?

Chris schrieb:
> T_Sens_Data sensors[SENS_COUNT];

Wir wissen aber nicht, ob das ist was der TO haben wollte.

von Chris (Gast)


Lesenswert?

Wenn er nicht mehr dazu schreibt, dann bekommt er eben die Antwort, die 
wir denken, die er haben möchte. :)

von Johann L. (gjlayde) Benutzerseite


Lesenswert?

1
typedef struct {
2
  uint8_t sensor_type;
3
  uint16_t sensor_data;
4
} T_Sens_Data;
5
6
typedef T_Sens_Data T_Sensors[SENS_COUNT];
7
8
T_Sensors sensorsA;
9
T_Sens_Data sensorsB[SENS_COUNT];

von Erik S. (erik_s)


Lesenswert?

Meine Glaskugel behauptet, dass etwas in der Art gefragt ist:
1
#define SENS_COUNT 3
2
3
typedef struct {
4
  uint8_t sensor_type;
5
  uint16_t sensor_data;
6
} T_Sens_Data;
7
8
9
typedef struct{
10
  T_Sens_Data sense_data[SENS_COUNT];
11
}T_Sensors;

von Curby23523 N. (Gast)


Lesenswert?

Johann L. schrieb:
> typedef struct {
>   uint8_t sensor_type;
>   uint16_t sensor_data;
> } T_Sens_Data;
>
> typedef T_Sens_Data T_Sensors[SENS_COUNT];
>
> T_Sensors sensorsA;
> T_Sens_Data sensorsB[SENS_COUNT];

Das geht so nicht, zweimal der selbe Bezeichner...

von Thomas L. (delfinis)


Lesenswert?

Nils N. schrieb:
> Chris schrieb:
>> T_Sens_Data sensors[SENS_COUNT];
>
> Wir wissen aber nicht, ob das ist was der TO haben wollte.

Hallo
ja natürlich war das falsch :-( Hab beim rumprobieren offenbar einen 
falschen Namen kopiert.
Aber das war genau das was ich wollte.

Richtigerweise sollte man aber wohl schreiben:
1
typedef struct {
2
   uint8_t sensor_type;
3
   uint16_t sensor_data;
4
 } T_Sens_Data;
5
6
 typedef T_Sens_Data T_Sensors[SENS_COUNT];
(Da T_Sensors ja ein typ wird).
Danke an alle und sorry für die ungenaue Beschreibung.

: Bearbeitet durch User
von Rolf M. (rmagnus)


Lesenswert?

Nils N. schrieb:
> Das geht so nicht, zweimal der selbe Bezeichner...

Wo?

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.