Como você sabe quanto espaço para alocar com malloc ()?
Eu sou um novato total em C, eu venho de C #. Eu tenho aprendido sobre gerenciamento de memória emalloc()
função. Eu também encontrei este código:
char *a_persons_name = malloc(sizeof(char) + 2);
O que eu não entendo é quanto espaço isso está alocando paraa_persons_name
. Está alocando 2 caracteres (por exemplo, AB) ou algo mais?
Eu também sei que às vezes você pode ter "sorte" commalloc
e usar espaço não alocado (o que pode resultar em corrupção de dados e falhas seg). Então, como eu sei quanto espaço estou alocando e quanto vou precisar?