Mam tablicę, która chcę uczynić globalną i chcę zainicjować w wywołaniu funkcji. Chcę najpierw zadeklarować ją, nie wiedząc, że to rozmiar:C - Inicjowanie tablicy globalnej w funkcji
char str[];
a później go zainicjować:
str = char[size];
Jak mogę to zrobić? Jestem bardzo nowy, c i być może idę zupełnie niewłaściwie tutaj, każda pomoc byłaby bardzo ceniona.
W C nie powinno naprawdę oddanych wynik malloc - ty tylko naprawdę trzeba to zrobić w C++ - należy go unikać w C, ponieważ może maskować w inny sposób pomocne ostrzeżenia. –
Jeśli chcesz być ogólny, użyj 'sizeof (* str)', więc nie musisz powtarzać nazwy typu. Ponadto w C nie powinieneś rzucać wyniku malloc. –
@Paul, @Ben: dzięki, zaktualizowałem anwer –