c语言变量默认存储类型(C语言中变量的存储类型有哪几种)

一、在C语言中,局部变量的存储类别自动默认为( )

B,auto类型

参考百度百科:网页链接

仅在语句块内部使用,初始化可为任何表达式,其特点是当执行流程进入该语句块的时候初始化可为任何表达式。C语言中提供了存储说明符auto、register、extern、static说明的四种存储类别。四种存储类别说明符有两种存储期:自动存储期和静态存储期。其中auto和register对应自动存储期。具有自动存储期的变量在进入声明该变量的程序块时被建立,它在该程序块活动时存在,退出该程序块时撤销。在函数内部定义的变量成为局部变量。在某些C语言教材中,局部变量称为自动变量,这就与使用可选关键字auto定义局部变量这一作法保持一致。

二、在C语言中,___存储类型的变量,只在使用时才分配空间。

在 C语言中,自动存储类型的变量只在使用时才分配空间,因此选项 D `auto`和 `register`是正确的答案。

`auto`存储类型是 C语言中的默认存储类型,通常用于描述函数内部定义的局部变量。这些变量在定义时不会被初始化,而是在函数执行到定义语句时才会分配存储空间,并且在函数执行完毕后自动释放所占用的空间。

`register`存储类型用于告诉编译器将变量存储在寄存器中,以提高访问速度。由于寄存器数量有限,因此只有部分变量可以存储在寄存器中。同时,变量的地址也无法取得,即不能对其进行取地址*作。

`static`存储类型用于描述静态变量,这些变量在程序编译时就已经分配了固定的存储空间,并且在整个程序执行期间都存在。与自动存储类型相比,静态变量具有更长的生命周期和更广泛的作用域,可以跨越多个函数使用。

`extern`存储类型用于描述外部变量,这些变量在其他文件中定义,并且需要通过 `extern`关键字声明后才能在当前文件中使用。

三、C语言中变量存储类型有哪些

turbo

c2.0支持四种变量存储类型。说明符如下:

auto

static

extern

register

下面分别来介绍。

一、auto

auto称为自动变量。

局部变量是指在函数内部说明的变量(有时也称为自动变量)。用关键字auto进

行说明,

当auto省略时,

所有的非全程变量都被认为是局部变量,

所以auto实际上

从来不用。

局部变量在函数调用时自动产生,

但不会自动初始化,

随函数调用的结束,

个变量也就自动消失了,

下次调用此函数时再自动产生,

还要再赋值,

退出时又自

动消失。

二、static

static称为静态变量。根据变量的类型可以分为静态局部变量和静态全程变量。

1.

静态局部变量

它与局部变量的区别在于:

在函数退出时,

这个变量始终存在,

但不能被其它

函数使用,

当再次进入该函数时,

将保存上次的结果。其它与局部变量一样。

2.

静态全程变量

turbo

c2.0允许将大型程序分成若干独立模块文件分别编译,

然后将所有模块

的目标文件连接在一起,

从而提高编译速度,

同时也便于软件的管理和维护。静态

全程变量就是指只在定义它的源文件中可见而在其它源文件中不可见的变量。它与

全程变量的区别是:

全程变量可以再说明为外部变量(extern),

被其它源文件使用,

而静态全程变量却不能再被说明为外部的,

即只能被所在的源文件使用。

三、extern

extern称为外部变量。为了使变量除了在定义它的源文件中可以使用外,

还要

被其它文件使用。因此,

必须将全程变量通知每一个程序模块文件,

此时可用

extern来说明。

四、register

register称为寄存器变量。它只能用于整型和字符型变量。定义符register说

明的变量被turbo

c2.0存储在cpu的寄存器中,

而不是象普通的变量那样存储在内

存中,

这样可以提高运算速度。但是turbo

c2.0只允许同时定义两个寄存器变量,

一旦超过两个,

编译程序会自动地将超过限制数目的寄存器变量当作非寄存器变量

来处理。因此,

寄存器变量常用在同一变量名频繁出现的地方。

另外,

寄存器变量只适用于局部变量和函数的形式参数,

它属于auto型变量,

因此,

不能用作全程变量。定义一个整型寄存器变量可写成:

register

int

a;

对于以上所介绍的变量类型和变量存储类型将会在以后的学习中,

通过例行程

序中的定义、使用来逐渐加深理解。

四、C语言中变量的存储类型有哪几种***存储方式哪几种谢喽

在C语言中,对变量的存储类型说明有以下四种:

1、auto自动变量

2、register寄存器变量

3、extern外部变量

4、static静态变量

所谓存储类型是指变量占用内存空间的方式,也称为存储方式。

变量的存储方式可分为“静态存储”和“动态存储”两种。

1、静态存储变量通常是在变量定义时就在存储单元并一直保持不变,直至整个程序结束。

2、动态存储变量是在程序执行过程中,使用它时才分配存储单元,使用完毕立即释放。典型的例子是函数的形式参数,在函数定义时并不给形参分配存储单元,只是在函数被调用时,才予以分配,调用函数完毕立即释放。

如果一个函数被多次调用,则反复地分配、释放形参变量的存储单元。从以上分析可知,静态存储变量是一直存在的,而动态存储变量则时而存在时而消失。

扩展资料:

变量根据定义的位置的不同的生命周期,具有不同的作用域,作用域可分为6种:全局作用域,局部作用域,语句作用域,类作用域,命名空间作用域和文件作用域。

一、从作用域看:

1、全局变量具有全局作用域。全局变量只需在一个源文件中定义,就可以作用于所有的源文件。当然,其他不包含全局变量的定义的源文件需要用extern关键字再次声明这个全局变量。

2、静态局部变量具有局部作用域,它只被初始化一次,自从第一次被初始化直到程序运行结束一直存在,它和全局变量的区别在于全局变量对所有函数都是可见的,而静态局部变量只对定义自己的函数体始终可见。

3、局部变量也只有局部作用域,它是自动对象(auto),它在程序运行期间不是一直存在,而是只在函数执行期间存在,函数的一次调用执行结束后,变量被撤销,其所占用的内存也被收回。

4、静态全局变量也具有全局作用域,它与全局变量的区别在于如果程序包含多个文件的话,它作用于定义它文件里,不能作用到其他文件里,即被static关键字修饰过的变量具有文件作用域。这样即使两个不同的源文件都定义了相同名字的静态全局变量,它们也是不同的变量。

二、从分配空间看:

全局变量,静态局部变量,静态全局变量都在静态存储区分配空间,而局部变量在栈里分配空间。

全局变量本身就是静态存储方式,静态全局变量当然也是静态存储方式。这两者在存储方式上并无不同。这两者的区别虽在于非静态全局变量的作用域是整个源程序,当一个源程序由多个源文件组成时,非静态的全局变量在各个源文件中都是有效的。

而静态全局变量则限制了其作用域,即只在定义该变量的源文件内有效,在同一个源程序的其他源文件中不能使用它。由于静态全局变量的作用域局限于一个源文件内,只能为该源文件内的函数公用,因此可以避免在其他源文件中引起错误。

1、静态变量会放在程序的静态数据存储区(全局可见)中,这样可以在下一次调用的时候还可以保持原来的赋值。这一点是它与堆栈变量和堆变量的区别。

2、变量用static告知编译器,自己仅仅在变量的作用范围内可见。这一点是它与全局变量的区别。

参考资料来源:百度百科-变量-存储类型

相关文章

Apple苹果耳机有线原装线控手机耳机13/14耳塞入耳式XR有线耳机耳麦iPhone12ProMax/11/SE/8p/earpods质量好吗

Apple苹果耳机有线原装线控手机耳机13/14耳塞入耳式XR有线耳机耳麦iPhone12ProMax/11/SE/8p/earpods质量好吗

很多小伙伴在关注Apple苹果耳机有线原装线控手机耳机13/14耳塞入耳式XR有线耳机耳麦iPhone12ProMax/11/SE/8p/earpods怎么样?质量好不好?...

小白D1接入米家APP智能可视门铃无线电子猫眼1080P高清摄像头家用监控器持久续航手机远程查看怎么样?质量测评好不好用?

小白D1接入米家APP智能可视门铃无线电子猫眼1080P高清摄像头家用监控器持久续航手机远程查看怎么样?质量测评好不好用?

很多小伙伴在关注小白D1接入米家APP智能可视门铃无线电子猫眼1080P高清摄像头家用监控器持久续航手机远程查看怎么样?质量好不好?使用测评如何?本文综合已购用户的客观使用...

闪魔苹果手表膜apple质量怎么样

闪魔苹果手表膜apple质量怎么样

很多小伙伴在关注闪魔苹果手表膜apple怎么样?质量好不好?使用测评如何?本文综合已购用户的客观使用分享和相应的优惠信息,为大家推荐一款高性价比的产品,一起来看看吧。...

有道英语听力宝复读机学习机英语语文学习提升神器好不好

有道英语听力宝复读机学习机英语语文学习提升神器好不好

很多小伙伴在关注有道英语听力宝复读机学习机英语语文学习提升神器怎么样?质量好不好?使用测评如何?本文综合已购用户的客观使用分享和相应的优惠信息,为大家推荐一款高性价比的产品...

梓润1080p高清会议记录仪DV摄像机摄像头高清家用监控户外随身便携式录像机穿戴背夹式口袋录像神器测评分享

梓润1080p高清会议记录仪DV摄像机摄像头高清家用监控户外随身便携式录像机穿戴背夹式口袋录像神器测评分享

很多小伙伴在关注梓润1080p高清会议记录仪DV摄像机摄像头高清家用监控户外随身便携式录像机穿戴背夹式口袋录像神器怎么样?质量好不好?使用测评如何?本文综合已购用户的客观使...

绿联苹果手表膜S8/SE2通用AppleiWatch7/6/5/4保护膜45/44mm全屏防刮防指纹水凝软膜2片装使用感受分享

绿联苹果手表膜S8/SE2通用AppleiWatch7/6/5/4保护膜45/44mm全屏防刮防指纹水凝软膜2片装使用感受分享

很多小伙伴在关注绿联苹果手表膜S8/SE2通用AppleiWatch7/6/5/4保护膜45/44mm全屏防刮防指纹水凝软膜2片装怎么样?质量好不好?使用测评如何?本文综合...