C 的malloc函数,是在不懂下面这个程序为何不报错??
这个我真不明白,请各位指教!!!int *p;
p=(int*)malloc(sizeof(int));//p point to a int size space
for(int i=0;i<100;i++)
{
p[i]=i;
printf("%3d",p[i]);//why the p[2]~p[99] also run regularly?
}
malloc不是开辟了固定长度(一个int大小)的空间吗,怎么p[2]--p[99]还能正常运行呢?按说只有p[0]才对吧?
谁能告诉我怎么回事,谢谢了!!