这似乎是一个常见的用例。也许我们想在函数中声明一个变量,并且我们想让它成为静态变量,以便该变量在多个函数调用时保持其值。
我们还想告诉编译器尝试将变量存储在 CPU 寄存器中以便更快地访问。
但是,这在 C 中是不可能的。
int foo()
{
static register int a;
a++:
}
此代码给出以下错误。
multiple storage classes in declaration specifiers
为什么声明变量时不能有多个存储类说明符?