Skąd wiesz, ile miejsca przeznaczyć na malloc ()?
Jestem całkowitym nowicjuszem C, pochodzę z C #. Uczyłem się zarządzania pamięcią imalloc()
funkcjonować. Natknąłem się również na ten kod:
char *a_persons_name = malloc(sizeof(char) + 2);
Nie rozumiem jednak, ile miejsca przeznacza na toa_persons_name
. Czy przydziela 2 znaki (np. AB) lub coś innego?
Wiem też, że czasami możesz mieć szczęściemalloc
i używaj nieprzydzielonego miejsca (co może spowodować uszkodzenie danych i błędy seg). Skąd mam wiedzieć, ile miejsca przeznaczam i ile będę potrzebować?