不能
C99及后面的标准实现变量就近定义时,实际上没有规定栈空间要在就近定义的地方来扩缩,典型的gcc实现栈空间的占用还是在函数入口完成的
总结
有没有循环对函数压栈没有任何影响。
就算变量定义在循环里面,压栈这个新函数的时候,也会给循环里面的变量预留对应的空间。
如果动态搞的话,结社循环里有嵌套,有break continue跳转的时候也要加对应数量的恢复栈操作,复杂度过大
C99及后面的标准实现变量就近定义时,实际上没有规定栈空间要在就近定义的地方来扩缩,典型的gcc实现栈空间的占用还是在函数入口完成的
有没有循环对函数压栈没有任何影响。
就算变量定义在循环里面,压栈这个新函数的时候,也会给循环里面的变量预留对应的空间。
如果动态搞的话,结社循环里有嵌套,有break continue跳转的时候也要加对应数量的恢复栈操作,复杂度过大