99问答网
所有问题
哪位大虾帮忙梳理一下4种存储类别(auto,register,extern,static)和局部/全局变量的关系?
就是以上四种存储类别分别对应的是局部变量还是全局变量?
举报该问题
推荐答案 2011-12-11
auto是局部变量,如果你定义一个全局变量为auto存储类型编译器就会报错
resister是寄存器存储,他的访问速度快,但单片机中寄存器的数量较少,程序执行过程中一般作为变量的暂存中介,里面的内容经常会被更改,所以通常是局部变量
extern是外部存储,一般是在当前文件中声明,在另外的文件中定义或者使用,一般为全局的
static是静态存储,他可以是全局的也可以是局部的,全局变量声明为static类型时他作用域只在当前文件中,局部变量声明为static类型时,他的作用域是在当前定义变量的{}内。在C++中static变量一般是整个类的属性。
温馨提示:答案为网友推荐,仅供参考
当前网址:
http://99.wendadaohang.com/zd/zBvOOO7vX.html
其他回答
第1个回答 2011-12-10
C语言 auto,可以隐藏,所有未加前缀的都是他
register,寄存器变量,可以直接从寄存器中取出它的当前值
extern,外部变量,类似于类,声明\定义分开的.
static,本文件可见,防止重名.
C++
static,类外本文件可见,防止重名.
类内,静态变量/函数所有对象共享
第2个回答 2011-12-11
auto:肯定是局部变量,函数作用域,系统自动创建和回收
register:一般用于局部变量
extern:声明关键字,只是对变量进行声明,变量定义在其他文件 全局变量使用
static:局部静态- 函数作用域 全局静态 - 本文件作用域 都不能成为全局变量吧本回答被提问者采纳
第3个回答 2011-12-10
博最网 搜索
相似回答
变量
存储类别
分为哪几种
答:
auto
(自动)extern(外部)static(静态)register(寄存器)
c语言
存储
结构有哪些
答:
c语言存储结构有自动
(auto
)、寄存器(
register
)、静态(
static)
及外部(
extern)四种
。静态
存储类别与
外部存储类别变量存放在静态存储区,自动存储类别变量存放在动态存储区,寄存器存储类别直接送寄存器。C语言的数据类型包括:整型、字符型、实型或浮点型(单精度和双精度)、枚举类型、数组类型、结构体类型、共...
C语言中
存储
说明符有哪些?
答:
C语言中提供了存储说明符
auto,register,extern,static
说明的
四种存储类别
。四种存储类别说明符有两种存储期:自动存储期和静态存储期。其中
auto和
register对应自动存储期。具有自动存储期的变量在进入声明该变量的程序块是被建立,它在该程序块活动时存在,退出该程序块时撤销。在函数内部定义的变量成为局部...
2018年3月计算机二级考试C语言考点解析:用户标识符的作用域和
存储类
答:
1.局部变量的存储属性 局部变量可以是自动
类别(
用
auto,register
说明),也可以是静态类别(用static说明)。形参只能是自动
存储类别,
不允许是
static类别
。当局部变量未指明类别时,被自动说明成自动
(auto)
变量。这
类局部
变量称为自动变量。其值存放在内存的动态存储区,因此在退出作用域后,变量被自动释放,...
c语言变量的
储存类别
及各自的特点
答:
一、局部静态变量 局部变量按照存储形式可分为三种
auto, static, register
。与auto类型(普通
)局部
变量相比
, static局部
变量有三点不同:1. 存储空间分配不同 auto类型分配在栈上, 属于动态
存储类别,
占动态存储区空间, 函数调用结束后自动释放, 而static分配在静态存储区, 在程序整个运行期间都不释放. ...
局部
变量、
全局
变量、外部变量个采用什么
存储
方式
答:
局部变量是指在函数内部,临时申请的内存空间,函数执行完成后就自动被释放掉,也在程序RAM空间
;全局
变量是指在函数外部声称的变量,程序执行过程中不会被释放,程序未退出之前,一直在程序的RAM空间;外部变量,指的是不在本文件中声称的全局变量。
函数的
存储
类型是什么?
答:
函数的存储类型指的是其他文件模块可否访问,其类别可以是
extern
或
static
。static是指该函数只能被本源程序文件道中的模块访问。extern是指可被本源程序文件外的模块访问。C语言中函数的存储类型隐含为版全局的,因此默认为extern。函数内定义的变量,默权认作用域在本函数内,即其类型是
auto
。
什么是变量的
存储
类型
答:
C语言的变量有
4种存储
类型,分别是
auto(
自动型)、
static(
静态型)、
register(
寄存器型
)和extern(
外部型)。在定义或说明一个变量时可以加上存储类型关键字,以限定其
存储类别
。存储类型决定了系统将在哪一个数据存储区为变量分配存储空间。auto型将在堆栈区分配存储空间
;static
型将在静态数据区分配...
在C语言中
,存储类别
包括什么?
答:
1、c语言中的存储类型有
static
、
auto
、extern、及
register,
函数默认的存储类型应该是
extern,
意思是具有外部链接性的。一般来说,会通过extern来声明函数。2、比如下面的代码,在1.c中定义一个函数,函数的声明写在1.h头文件中,在2.c中通过添加1.h的头文件,来声明及调用函数f()。//1.c void ...
大家正在搜
相关问题
请教变量的存储类型分为auto、 register、 ext...
10、C语言中,局部变量的默认存储类别为。 (A)auto ...
C语言中定义数组时,前面的static、auto、exter...
c语言中auto什么意思?
笔试:c语言变量内存分配问题
C语言程序问题
7、C语言中,形参的默认存储类别为。 (A)auto (B)...
什么是AUTO+?