Я пытаюсь понять, что делает этот код. Я анализирую код malloc моего профессора, и он выполняет эту функцию в своем коде. Я не понимаю, почему он это делает. Для меня он просто возвращает столько же выделенного места.Разве это не возвращает оригинальный размер?
static inline size_t word_align(size_t size) {
return size + (sizeof(size_t) - 1) & ~(sizeof(size_t) - 1);
}
Это округляет до кратного sizeof (size_t) – immibis
Очевидная вещь для вас здесь - это * test * it. Назовите его значениями, например, с 0 по 16, и посмотрите, что вы получите. Вы также можете посмотреть значение 'sizeof (size_t)'. Ничего из этого не требуется, чтобы задать вопрос здесь. Когда вы говорите: «для меня он просто возвращает то же количество выделенного пространства», это, по-видимому, означает, что вы все это сделали и обнаружили, что он всегда возвращает тот же самый номер, который он задает. Но ясно, что нет. –