10、C语言中,局部变量的默认存储类别为。 (A)auto (B) static (C)register (D)extern
6个回答
展开全部
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 是不可以省略的!
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 是不可以省略的!
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
A
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
A.auto B.static C.register D.extern
A 的变量在堆栈里,自然是运行时
B 是静态变量
C 是寄存器变量,使用的是cpu的寄存器
D 是全局变量
BD都是放在数据段中的,编译的时候就已经确定了位置(有的编译器对b和d的处理不一样)
A 的变量在堆栈里,自然是运行时
B 是静态变量
C 是寄存器变量,使用的是cpu的寄存器
D 是全局变量
BD都是放在数据段中的,编译的时候就已经确定了位置(有的编译器对b和d的处理不一样)
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询