Как вы узнаете, сколько места нужно выделить с помощью malloc ()?
Я новичок в C, я из C #. Я изучал управление памятью иmalloc()
функция. Я также сталкивался с этим кодом:
char *a_persons_name = malloc(sizeof(char) + 2);
Что я не понимаю, так это то, сколько места это выделяетa_persons_name
, Это распределение 2 символов (например, AB) или что-то еще?
Я также знаю, что иногда вы можете «повезти» сmalloc
и использовать нераспределенное пространство (что может привести к повреждению данных и ошибкам сегмента). Итак, как мне узнать, сколько места я выделяю и сколько мне понадобится?