C ++ 03, §20.4.6p2
Содержимое совпадает с заголовком стандартной библиотеки C со следующими изменениями: [список изменений, которые здесь не применяются]
C99, §7.20.3.3p2-3
(Хотя C ++ 03 основан на C89, у меня есть только C99 для цитирования. Однако я считаю, что этот раздел семантически не изменился. §7.20.3p1 также может быть полезен.)
Функция malloc выделяет пространство для объекта, размер которого определяется размером и
чье значение не определено.
Функция malloc возвращает либо нулевой указатель, либо указатель на выделенное пространство.
Из этих двух кавычек malloc выделяет неинициализированный объект и возвращает указатель на него или возвращает нулевой указатель. Указатель на объект, который у вас есть как пустой указатель, может быть преобразован в указатель на этот объект (первое предложение C ++ 03 §5.2.9p13, упомянутое в предыдущем ответе).
Это должно быть меньше "ручного махания", на которое вы жаловались, но кто-то может возразить, что я "интерпретирую" определение malloc C, как мне хотелось бы, например, заметив, что C говорит "выделенному пространству", а не «выделенному объекту». Тем людям: во-первых, понять, что «пространство» и «объект» являются синонимами в Си, а во-вторых, пожалуйста, подайте отчет о дефектах в стандартные комитеты, потому что даже я не настолько педантичен, чтобы продолжать. :)
Я дам вам преимущество сомнения и верю, что вы запутались в перекрестных ссылках, перекрестной интерпретации и иногда запутанной интеграции между стандартами, а не в «пространстве» и «объекте».