物美超市北京分店分布:请看看这个动态内存分配会有什么问题

来源:百度文库 编辑:杭州交通信息网 时间:2024/05/01 07:38:55
我原本以为没使用malloc(initsize*sizeof(int))会控件分配不够,但是程序尽管报错,仍然打印1到10的结果,请问为什么呢?
+++++++++++++++++++++++
#include <malloc.h>
#include <iostream.h>
#define initsize 10

main()
{
int *array=(int *)malloc(initsize);
int *pa=array;
int *pb=array;
cout<<pa<<endl;
cout<<pb<<endl;
for(int i=1;i<=10;i++)
{
*pa=i;
pa++;

}
for(int j=1;j<=10;j++)
{
cout<<*pb;
pb++;
}

return 0;
}
我倒不关心内存释放的问题,我是在想,赋值语句for(int i=1;i<=10;i++){*pa=i; pa++}中,指针自增超出了分配的空间范围,会怎么样?是不是就引起我看到的系统报错。

没有释放内存啊.

free