Hallo
ich hab da ein kleines Problem, bzw eine Frage. Ich möchte gerne die 
Anzahl der Structs in einem Structarray herrausfinden.
Ich hab leider momentan die Hardware nicht zur Hand zum testen.
Also prinzipiell funktioniert das ganze so (über das Programm verteilt):
| 1 | //ist irgendwo mal definiert
 | 
| 2 | typedef struct{                                  
 | 
| 3 |   uint16_t  time;       
 | 
| 4 |   uint16_t  address;                   
 | 
| 5 |   uint64_t  *data;
 | 
| 6 |   uint8_t    datalength;
 | 
| 7 | }can_messageblock_typedef; 
 | 
| 8 | 
 | 
| 9 | //lege ich mal irgendwo an
 | 
| 10 | can_messageblock_typedef  *can_messages_struct;
 | 
| 11 | can_messages_struct = realloc(can_messages_struct,reservedbytes);
 | 
| 12 | 
 | 
| 13 | //irgendwann schreib ich da auch mal was rein
 | 
| 14 | can_messages_struct[line].time = 1; //...
 | 
Jetzt das Problem. Ich möchte später mal wieder gerne die Anzahl der 
"lines" wissen. Ich würde das wie folgt lösen, aber mit 
sizeof(can_message_struct) werd ich ja nur die Größe des Pointers 
erhalten. Wie bekomme ich die Größe eines allozierten Speichers heraus?
| 1 | anzlines = sizeof(can_message_struct)/sizeof(can_messageblock_typedef);
 | 
Das Problem hatte ich schon einmal. Damals habe ich das mit einer 
Terminierung "gelöst", die ich dann wieder leicht finden konnte. Aber 
geht das nicht auch anders?