什么叫做自动变量?
在 C 语言中,"自动变量"(automatic variable)是指在函数或代码块内部定义的变量。这些变量的生命周期与其所在的作用域(scope)相关联,具体特点如下:
auto
关键字来明确表示,但在实际编程中,通常不需要这样做。示例代码:
#include <stdio.h>
void exampleFunction() {
int a; // 自动变量,未初始化,值未定义
int b = 5; // 自动变量,显式初始化为 5
printf("a: %d, b: %d\\\\n", a, b); // a 的值是未定义的,b 的值是 5
}
int main() {
exampleFunction();
return 0;
}
在这个例子中,a
是一个自动变量,但没有被初始化,因此它的值是未定义的;b
是一个自动变量,并且被初始化为 5。每次调用 exampleFunction
时,a
和 b
都会被重新创建和初始化。
这里说得对吗: 将把x的最后6位设置为0。 注意, 表达式x & ~077与机器字长无关, 它比形式为x & 0177700 的表达式要好,同为后者假定x是16 位的数值。
当然是对的,0177700 转换到二进制本来是 18 位,但是,八进制的 1 转成二进制实际只有两位有效,也就是 001。