widzę że nie doczytałeś jeszcze o tej funkcji malloc, funkcja ta alokuje pamięć dla jakichś danych, w jej argumencie wpisujesz
rozmiar danych jaki chcesz zaalokować, w tym przypadku proponuję alokację dla każdej ze struktur osobno, dlatego ze jesteś
początkującym z tego co zauważyłem, obejdzie się bez obliczania offsetów w pamięci.
1. dla każdej struktury alokujesz pamięć, jej rozmiar jest równy sizeof( struct equipment ) czyli rozmiarowi całej struktury.
2. do tablicy array nie kopiujesz struktury tylko wskaźnik(adres) na tą strukturę w pamięci.
3. w przypisywaniu do tablicy wskaźników nie obejdzie się najczęściej bez rzutowania, więc albo robisz to przed alokacją, albo przy
przydziale do tablicy array, ja proponuję jako że jesteś początkujący rzutowanie przy przypisywaniu wskaźników do tablicy czyli:
zaprezentuje tu przykladowa funkcje ktora mialaby tego dokonac
Kod:
static int count = 0;
static void copy_pointer( void* ptr ) {
array[count] = ptr;
count ++;
}
przy odwoływaniu się do funkcji copy_pointer robisz rzutowanie na typ void* zeby kompilator przepuścił ten argument funkcji
czyli:
Kod:
copy_pointer( ( void* )ptr );