CertForCS

高级系统架构师 - 希赛网

软考资料库 | CS - git

(1)heap是堆,stack是栈; 
(2)stack的空间由操作系统自动分配/释放,heap上的空间手动分配/释放; 
(3)stack空间有限,heap是很大的自由内存区; 
(4)C中的malloc函数分配的内存空间即在堆上,C++中对应的是new操作符。 
     程序在编译对变量和函数分配内存都在栈上进行,且内存运行过程中函数调用时参数的传递在栈上进行。
     
函数分配内存时,先压栈函数的第一行指令地址,后从右到左压栈参数