C语言中malloc分配内存空间不足, 但是还是能放,为什么呢?

Python019

C语言中malloc分配内存空间不足, 但是还是能放,为什么呢?,第1张

这说明你比较幸运,没有出现程序崩溃。

首先在堆栈申请的内存,后面也许还是没有别的程序在用,所以你的程序超过你申请的内存也不会出现问题;

但是如果有别的程序已经占用了你申请内存的后面空间,你再用就会出现无法写入,程序崩溃。

1.栈空间(stack段)用来存放函数中的局部变量和函数调用时的上下文。

2. 全局变量和静态变量存放于进程的数据段。

3. Windows下进程的栈空间会自动增长,一般不会出现空间不足的问题;

4。如果变量实在太大,甚至大于栈可增长的范围,如数百兆,则会编译出错。