Функция malloc() - найти разницу между двумя реализациями - C (СИ)

Узнай цену своей работы

Формулировка задачи:

Добрый вечер. Скажите, пожалуйста, есть ли разница между записями:
buf=(char*)malloc((strlen(str)*2)*sizeof(char))
и
buf=(char*)malloc(strlen(str)*2)
Если да, то какая? Ещё хочу понять, почему в строку buf может записываться большее число символов, в независимости от выделенной памяти?

Решение задачи: «Функция malloc() - найти разницу между двумя реализациями»

textual
Листинг программы
char pathname[PATH_MAX+1]

Объяснение кода листинга программы

  1. Объявляется массив типа char с именем pathname и размером в 1 элемент больше, чем максимальный размер пути в файловой системе (PATH_MAX).
  2. В этом массиве будет храниться путь к файлу.
  3. Размер массива вычисляется как PATH_MAX + 1.
  4. Массив pathname инициализируется нулевыми значениями.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

11   голосов , оценка 4 из 5
Похожие ответы