有一说法是在存储一些大一点的数据时,将数据存在堆中,却将指向该数据的指针放到栈中,因为栈小但是运行快,堆虽然大但效率低。我想问的是难道数据大,那指向它的指针不也一样大么?那这样栈里面有足够大的空间让指针进去吗? 谢谢 新手求解
如果有高手能将指针怎样在堆 栈中运行的细节讲清楚 那真的不甚感激了!
是否就是说栈在调用指针时只是调用的指针的地址,而不是调用指指针向它保存的数据的地址?
追答你说的基本正确 栈相当于一个数组 只是这个数组存的都是一个个指针 堆里面存的是大堆大堆的东西 调用栈里的指针时 只是将这个指针取出来 CPU使用的指针叫IP 这个指针指向哪儿 程序就执行到哪儿 需要堆里面的数据时 只要将栈里的指针赋给IP 那么IP就指向堆里的内容 从这里执行程序
本回答被提问者采纳