int *p = new int [100];
应该和malloc无关,p是指针,调试的时候你鼠标悬停在p上面就只会显示p所直接指向的内存地址的数据(p是数组首元素p[0]的地址),你可以printf出来看一下,也可以用快速监视查看,如果还是只有一个元素那就是你的程序逻辑有问题。