Zwracanie rozmiaru tablicy z funkcji

0

Hej. Mam taką funkcję powiedzmy, która przygotowuje mi dynamicznie tablicę z loginami użytkowników. Jak najładniej zwracać rozmiar ilość wierszy takiej tablicy (abym mogła dalej się tym bawić w MAINie itd....)

/* zwraca wskaznik do tablicy, a do rows wpisuje ilosc wierszy */
char **get_users(unsigned *rows);

/* zwraca ilość wierszy a pod arrptr allokuje ta tablice */
unsigned get_users(char **arrptr);

/* pod arrptr allokuje tablice, do rows wpisuje ilość wierszy */
void get_users(char **arrptr, unsigned *rows);

która opcja wdg was najlepsza? czy może można zrobić to lepiej?

2

Przykładowo: struktura [wskaźnik, rozmiar], ale jeśli chcesz ze swoich to opcja nr 3 wydaje się najsensowniejsza

2
typedef struct { char **users; unsigned count; } UserArray;

UserArray get_users();
0

ok dzięki.

_13th_Dragon napisał(a):
typedef struct { char **users; unsigned count; } UserArray;

UserArray get_users();

właśnie chyba tak zrobię. ostatnio czytałam https://github.com/torvalds/linux/blob/master/Documentation/CodingStyle i po "Chapter 5: Typedefs" i odniosłam wrażenie że przy takich prostych rzeczach żeby nie stosować tego typedef. ale później bd mieć inne funkcje dokonujące iteracji po tej tablicy itd... dojdą kolejne argumenty to chociaż będzie lepiej wyglądać.

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