Struct Array an Funktion übergeben

#3391079
Lesenswert?

Hallo Leute,
ich möchte folgendes realisieren nämlich Struktur an eine Funktion 
übergebene.

So dachte ich mir das Ganze aber leider kann ich es so nicht compilieren
1
typedef volatile struct 
2
{
3
  uint8_t id[8];
4
  int16_t temperatur;
5
}sensors;
6

7

8
void auslesen(sensors er[])
9
{
10
  er[0]->temperatur mach damit was 
11

12
}
13

14
int main( void )
15
{
16
  sensors ow_Sensors[5];
17
  for(;;)
18
  {
19
     auslesen(ow_Sensors);
.

Was mache ich da falsch?

Vielen Dank
Peter
#3391085
Lesenswert?

Pier S. schrieb:


> void auslesen(sensors er[])
> {
>   er[0]->temperatur mach damit was

er[0].temperatur   mach was damit

du brauchst hier keine Pointer Syntax. Zumal du ja hier eigentlich einen 
Pointer auf ein Array hast (trotz anderer Syntax) und nicht ein Array 
von Pointern.
Dieser Pointer braucht dich aber nicht weiter interessieren. Der steckt 
an dieser Stelle bereits in der Zugriffssyntax mittels [0] drinnen. Du 
benutzt hier das "Array" auf genau die gleiche Art und Weise, wie du es 
auch in main tun würdest (mit Ausnahme von sizeof, denn in Wirklichkeit 
hast du in der Funktion kein Array, sondern nur einen Pointer darauf)
#3392616
Lesenswert?

Vielen Dank

Karl Heinz schrieb:
> du brauchst hier keine Pointer Syntax. Zumal du ja hier eigentlich einen
> Pointer auf ein Array hast (trotz anderer Syntax) und nicht ein Array
> von Pointern.
> Dieser Pointer braucht dich aber nicht weiter interessieren. Der steckt
> an dieser Stelle bereits in der Zugriffssyntax mittels [0] drinnen. Du
> benutzt hier das "Array" auf genau die gleiche Art und Weise, wie du es
> auch in main tun würdest (mit Ausnahme von sizeof, denn in Wirklichkeit
> hast du in der Funktion kein Array, sondern nur einen Pointer darauf)

Ich bin gestern einfach total auf den Schlauch gestanden!

LG
Peter

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren