void stackDirection(int* i) { int j; if(&j>i) cout<<"Stack is growing up \n"<<endl; else cout<<"Stack is growing down \n"<<endl; } int main() { int i=1; stackDirtection(&i); }
每个堆栈帧都可以在堆内的随机点分配.这实际上是在几个操作系统中完成的,以防止恶意代码堆栈粉碎.
堆栈向堆增长的概念只是教授堆栈概念的一种简单方法(当然,早期实现确实以这种方式工作,因为它很简单(当没有人尝试时,不需要做出比你需要的更难的东西)打破你)).