Нет никаких причин для '\0'
быть в конце массива.
malloc (или новый, в этом отношении) возвращает вам блок из 10 байтов, то есть памяти, которую он выделил для вас. ваша работа - делать с памятью все, что вы хотите.
Возможно, вы перепутали со строкой (например, char[10]
).
Вся идея строки заключается в том, чтобы быть массивом байтов, но который заканчивается '\0'
для обозначения его размера.
Массив байтов или любой другой массив, который вы выделяете, который не является строкой, не обязательно должен заканчиваться '\0'
; это ваша работа по отслеживанию его размера.