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