char t[80];
cout << sizeof t << endl; // 80 байт, всё правильно
char *p = new char[80];
cout << sizeof *p << endl; // 1 байт. Почему?
При работе со статической памятью выделяется именно 80 байт, что верно, а при работе с динамической (heap) выделяется 1 байт. Почему? Что я делаю неправильно?