Как вы узнаете, сколько места нужно выделить с помощью malloc ()?

Я новичок в C, я из C #. Я изучал управление памятью иmalloc() функция. Я также сталкивался с этим кодом:

char *a_persons_name = malloc(sizeof(char) + 2);

Что я не понимаю, так это то, сколько места это выделяетa_persons_name, Это распределение 2 символов (например, AB) или что-то еще?

Я также знаю, что иногда вы можете «повезти» сmalloc и использовать нераспределенное пространство (что может привести к повреждению данных и ошибкам сегмента). Итак, как мне узнать, сколько места я выделяю и сколько мне понадобится?

Ответы на вопрос(6)

Ваш ответ на вопрос