静态局部变量C99静态内联函数

问题描述:

如果我写的C99头是这样的:静态局部变量C99静态内联函数

static inline void f() 
{ 
    static int x = 0; 
    // Do something with x 
} 

它是保证每个模块包含这一头获取的f()一个单独的实例和其自身的x实例?

是的,根据定义,这就是static的含义。它在标题中的事实是无关紧要的。从概念上讲,C预处理器创建一个文件,按照.c文件进行编译,就像您刚才(重新)将头中的所有文本键入.c一样。