栈属于CPU架构原因,x86系列sp压栈后递减,堆则是内核设计,具体可以看看linux进程虚拟地址空间布局