QQ网名大全

10、C语言中,局部变量的默认存储类别为。 (A)auto (B) static (C)register (D)extern

C语言:
A,函数内部或语句组内部的局部变量默认是自动变量,即auto!函数外部定义的变量默认是外部变量,只有static,register才是必须在定义时声明。
A.auto 自动变量;函数参数,和局部变量的缺省类型
一般省略,这个关键字的作用,只是告诉我们,有这样一个类型。
如果不定义这样一个关键字,就会出现,最经常使用的变量,
其存储类型是个没有命名的类型,的尴尬局面。
B.static 静态变量;有3个层次;
1 )定义在函数外部,文件层次局部变量,占据全局内存的变量。是一种全局变量
名字是文件层次可见的。
2)定义在函数内部第1层大括号内部。
函数层次局部可见,占据全局内存的变量。
名字是函数内部可见的。
3)定义在 函数内部第n层大括号内部。
第n层语句组或(者叫分程序)层次局部可见,占据全局内存的变量。
名字是第n层语句组内部可见的。
C.register 只能是局部变量;

D.extern 外部变量;全局变量,函数外部定义的变量,占据全局内存的变量。
拥有引用可见性,全部可见性,和文件可见性三种可见性。
文件内部,自定义处起,具有全部可见性,可以看到变量的一切;
文件内部,引用声明处起具有引用可见性,只能看到类型(看不到数组的大小),
非本文件定义的变量也是可见的!
文件可见性,没有引用声明的文件,不可见本文件定义的外部变量。
这种从没有引用声明的外部变量只有本文件可见!
另外 static,extern 还可以定义函数;
extern 函数的定义和声明都可以省略extern,也就是extern 是函数的缺省存储类型
static 是不可以省略的!
佚名
2024-06-01 20:58:34
最佳回答
类似问题(10)