pytanie o struktury

0

Witam,
Jestem noobkiem i potrzebuje na szybko jakiś przykład w jaki sposób mogę przekształcić strukturę, która aktualnie umożliwia mi jakby 1x100 pozycji na name lecz potrzebuje np. 10x100 coś jak w tabelach np. int name[10][100]
Moja aktualna struktura:

typedef struct onlineuser_s{

	char name[32];

} onlineuser_t;

extern onlineuser_t user[100];

Dzięki tej strukturze mogę nadać 100 różnych imion do name np. strcpy(user[2].name, "Adam"); strcpy(user[3].name, "Jacek"); itp.
A potrzebuje podobnego efektu do np. strcpy(user[10][2].name,"Damian"); Pomożecie? ;D

0

Koledzy już wyjaśnili. Ja tylko ponownie uczulę przed używaniem strcpy(). Jeśli nigdzie indziej nie ograniczasz długości imienia, wpisując je do tablicy w strukturze używaj strncpy(). Język C, w przeciwieństwie do wielu innych języków, nie pilnuje za Ciebie zakresów tablic. Gdy przy pomocy strcpy() skopiujesz imię o długości dłuższej niż 31 znaków, nadmiar (łącznie z terminatorem) wyleci poza tablicę i nadpiszesz sobie następne struktury. Imię nie zostanie "przycięte" do długości tablicy, ani nie dostaniesz ostrzeżenia że wyjeżdżasz poza zakres. W ten sposób powstają trudne do zdiagnozowania błędy, dziwne zachowania programów oraz luki bezpieczeństwa. Wyrabiaj sobie nawyki.

1 użytkowników online, w tym zalogowanych: 0, gości: 1