也许你在谈论静态函数?
这是"静态"一词的特定用法,它与静态变量完全不同.
当您声明一个函数"static"时,这意味着它无法从另一个源文件链接.它通常用于保持某些功能"私密".
[编辑]请注意,理论上,功能代码仍然可以使用指针从另一个源文件访问,但这并不是访问函数的常规方式(当然也不是最简单的方法).感谢Eric Postpischil指出这一点.
遗憾的是,在C标准中使用相同的单词"static"表示两种不同的东西,这取决于用于函数或变量.
[编辑]:这是一个不同的问题,但无论如何:在静态变量的情况下,它们既不在堆中也不在堆栈中分配.它们是静态的,这意味着它们被分配在静态空间中,在启动时由编译器直接分配.Stack用于内部函数变量,heap用于malloc()/ free().