?
LisaG. schrieb:
Danke für die schnelle Antwort, leider bekomme ich es nicht hin, auf die Struktur Komponenten zuzugreifen. Ich programmiere erst seit kurzem und bin wohl etwas überfordert
kopf hoch, das wird schon. hier mal ein beispiel, wie du über diese 1000 indirektionen wieder an deine structs kommst:
struct Sensor
{
int a, b, c, d;
};
void main()
{
// alle objekte
struct Sensor gX = {1, 2, 3, 4};
struct Sensor gY = {5, 6, 7, 8};
struct Sensor gZ = {9, 10, 11, 12};
struct Sensor GyroX = {13, 14, 15, 16};
struct Sensor GyroY = {17, 18, 19, 20};
struct Sensor GyroZ = {21, 22, 23, 24};
// array mit pointern auf ^^diese objekte
struct Sensor *gSensors[] = {&gX, &gY, &gZ};
struct Sensor *Gyros[] = {&GyroX, &GyroY, &GyroZ};
// array mit pointern auf ^^dieses pointer-array
struct Sensor **s[] = {gSensors, Gyros};
// test: ausgabe
printf ("%d\n", s[0][0]->a); // gX.a
printf ("%d\n", s[0][1]->b); // gY.b
printf ("%d\n", s[0][2]->c); // gZ.c
printf ("%d\n", s[1][0]->d); // GyroX.d
printf ("%d\n", s[1][1]->c); // GyroY.c
printf ("%d\n", s[1][2]->b); // GyroZ.b
}
LisaG. schrieb:
Eine weitere Frage wäre, wie kann ich in einer Funktion der ich das Array übergebe feststellen, wie groß es ist? Sollte ich die Größe des Array vor der Übergabe ermitteln und der Funktion mit übergeben oder wäre es stilvoller die Größe in der Struktur zu hinterlegen?
gib einfach die anzahl der elemente mit. die grösse der struct bekommste mit 'sizeof' aud dem datentyp, also so: sizeof(struct Sensor).