发布网友
共1个回答
热心网友
一层的调用不明显,但是你考虑一下多层的调用就容易明白了。
比如说,我在函数A中还要调用其他函数,那么这个时候先要把函数A一些变量的信息记录下来,就是存在栈中,然后再调用新的函数(也可以是自身)。等A调用的函数运行完获得返回值时,会回到最初调用它的函数(也就是A),这个时候函数A可能还要继续运行,也可能直接就return了,无论哪种情况都需要把之前存在栈中的信息pop出来,否则一调用其他函数,A自己原先的变量数据就无法跟踪记录了。
热心网友
一层的调用不明显,但是你考虑一下多层的调用就容易明白了。
比如说,我在函数A中还要调用其他函数,那么这个时候先要把函数A一些变量的信息记录下来,就是存在栈中,然后再调用新的函数(也可以是自身)。等A调用的函数运行完获得返回值时,会回到最初调用它的函数(也就是A),这个时候函数A可能还要继续运行,也可能直接就return了,无论哪种情况都需要把之前存在栈中的信息pop出来,否则一调用其他函数,A自己原先的变量数据就无法跟踪记录了。
热心网友
一层的调用不明显,但是你考虑一下多层的调用就容易明白了。
比如说,我在函数A中还要调用其他函数,那么这个时候先要把函数A一些变量的信息记录下来,就是存在栈中,然后再调用新的函数(也可以是自身)。等A调用的函数运行完获得返回值时,会回到最初调用它的函数(也就是A),这个时候函数A可能还要继续运行,也可能直接就return了,无论哪种情况都需要把之前存在栈中的信息pop出来,否则一调用其他函数,A自己原先的变量数据就无法跟踪记录了。
热心网友
一层的调用不明显,但是你考虑一下多层的调用就容易明白了。
比如说,我在函数A中还要调用其他函数,那么这个时候先要把函数A一些变量的信息记录下来,就是存在栈中,然后再调用新的函数(也可以是自身)。等A调用的函数运行完获得返回值时,会回到最初调用它的函数(也就是A),这个时候函数A可能还要继续运行,也可能直接就return了,无论哪种情况都需要把之前存在栈中的信息pop出来,否则一调用其他函数,A自己原先的变量数据就无法跟踪记录了。
热心网友
一层的调用不明显,但是你考虑一下多层的调用就容易明白了。
比如说,我在函数A中还要调用其他函数,那么这个时候先要把函数A一些变量的信息记录下来,就是存在栈中,然后再调用新的函数(也可以是自身)。等A调用的函数运行完获得返回值时,会回到最初调用它的函数(也就是A),这个时候函数A可能还要继续运行,也可能直接就return了,无论哪种情况都需要把之前存在栈中的信息pop出来,否则一调用其他函数,A自己原先的变量数据就无法跟踪记录了。