静态局部变量C99静态内联函数
问题描述:
如果我写的C99头是这样的:静态局部变量C99静态内联函数
static inline void f()
{
static int x = 0;
// Do something with x
}
它是保证每个模块包含这一头获取的f()
一个单独的实例和其自身的x
实例?
答
是的,根据定义,这就是static
的含义。它在标题中的事实是无关紧要的。从概念上讲,C预处理器创建一个文件,按照.c
文件进行编译,就像您刚才(重新)将头中的所有文本键入.c
一样。