最近在一次采访中,我遇到了这个问题"静态变量如何在函数调用中保持其先前的值".想了一会但是真的想不出任何有说服力的答案.有人可以解释一下吗?尝试做谷歌,找不到我的信息.
静态变量存储在.data区域中,其中存储了所有全局变量.并且这些全局变量和静态变量被分配为exec操作的一部分(即创建新进程/分支新进程).
-----------------------
| Command Line Arg |
|---------------------|
| Stack |
| \/ | < Grow downward
|---------------------|
| /\ |
| Heap | < Grows Upward
|---------------------|
| .bss | (Uninitialized global variables)
|---------------------|
| .data | (initialized global/static variables)
|---------------------|
| .text |
-----------------------
Run Code Online (Sandbox Code Playgroud)
在上图中.data是存储在函数内声明或声明为全局变量的所有静态变量的区域.希望这可以帮助.
| 归档时间: |
|
| 查看次数: |
206 次 |
| 最近记录: |