Rufus Τ. F. schrieb:
> Damit bestimmst Du nicht die Größe des Arrays, sondern die Anzahl der
> Einträge in der ersten Arraydimension. Im vorliegenden Beispiel also 6.
>
> Den Wert 96 erhälst Du mit diesem Macro jedenfalls nicht, den gibt es
> mit
>
>
1 | > float zeit[6][4];
|
2 | >
|
3 | > printf("Arraygröße %d\n", sizeof(zeit));
|
4 | >
|
Du hast vollkommen Recht, das Makro war in der Tat für ein
eindimensionales Array. Richtig wäre in diesem Fall sowas:
1 | #define SIZE_OF_ARRAY(array) (sizeof(array)/sizeof((array)[0][0]))
|
Damit wird es dann halt auch wieder "eindimensional". Schön ist es dann
aber nicht mehr...
Markus schrieb:
> Ich habe gedacht ich hätte etwas falsch deklariert zu haben aber da war
> noch eine uint_8t Variable dazwischen welche die Zahl verworfen hat.
> richtig dumm 0.0
Was hat die uint8_t Variable damit zu tun?
/edit: womit natürlich auch wieder die Anzahl der Einträge herauskommen
und nicht die gewünschte "Feldgröße"...