Если "имя" это массив, то возвращаемый new указатель указывает на первый элемент массива. При создании с помощью new многомерных массивов следует указывать все размерности массива:
mat_ptr = new int[3][10][12]; // так можно
mat_ptr = new int[3][][12]; // нельзя
...
delete [] mat_ptr; //освободить память, занятую массивом,
//на который указывает mat_ptr
Инициализаторы с операцией new
Другим преимуществом операции new по сравнению с malloc является возможность инициализации. При отсутствии явных инициализаторов объект, создаваемый new, содержит непредсказуемые данные ("мусор"). Объекты, распределяемые new, за исключением массивов, могут инициализироваться соответствующим выражением в скобках:
int_ptr = new int(3);
Для очистки выделенной памяти операцией new можно использовать функцию meset(), объявленную в <mem.h>. Ей передаются 3 параметра: адрес очищаемой памяти, символ для очистки, количество байт.
#include <string.h>
#include <stdio.h>
#include <mem.h>
int main(void) {
char buffer[] = "Hello world\n";
printf("Буфер до memset: %s\n", buffer);
memset(buffer, '*', strlen(buffer) - 1);
printf("Буфер после memset: %s\n", buffer);
return 0;
}