众所周知,C语言通过C程序中的变量支持两种内存分配:
1)静态分配是当你声明一个静态变量时发生的。每个静态变量定义一个固定大小的空间块。当您的程序启动时,空间被分配一次,并且永远不会被释放。
2) 自动分配发生在您声明自动变量时,例如函数参数或局部变量。自动变量的空间在输入包含声明的复合语句时分配,并在退出该复合语句时释放。
(这是来自http://www.cs.utah.edu/dept/old/texinfo/glibc-manual-0.02/library_3.html的完整引用)
问题是:就内存分配而言,在“本地”函数中调用静态变量是否正确,为什么?提前感谢大家。
PS 欢迎来自 C 标准的任何引用。