最近在VS 上面调试代码,发现realloc()函数返回错误,堆栈内存不够。
1、realloc函数
realloc函数说明
realloc经常参加面试。
图解说明
如果在堆区需要从10空间大小扩展到20个空间大小,步骤如下:
现在要扩展至20个空间:
如果从array指针向后,够20个空间则直接申请。
在申请完之后,realloc函数返回新申请的堆内存空间首地址。也就是继续使用开始定义的指针变量 array 接收堆内存新的20个空间。
扩展前后的指针变量array所指向内存地址是同一个地址。
如果原先的十个空间后面的十个空间是不可访问的或者可用的不足十个。
总的来说就是堆内存不够了,VS解决办法:属性->链接器->系统启用大内存
编译就行。