我在一本书中读到,每当我们使用存储类作为寄存器声明一个变量时,它将被存储在一个寄存器中,这取决于它的可用性。如果没有可用的寄存器,则将为其分配默认存储类型“auto”。
每当我们声明一个变量而没有明确提及任何存储类时,分配给它的默认存储类型就是“auto”本身。
所以,我的问题是,为什么不将每个变量都声明为“寄存器”存储类 - 如果没有可用的寄存器,它无论如何都会被视为默认的“自动”类本身。幸运的是,如果寄存器可用,那么它将被存储在一个中。我知道我们不能再使用 & 运算符,但是如果我不打算使用指针和地址怎么办?那么我可以用“注册”存储类声明这些变量吗?因为这似乎是一种不好的做法。
编辑:我在网上搜索,但“地址不可用”是唯一提到的一点。没有提到为什么不能用 'register' 声明其余变量。