凡亿教育-麦麦
凡事用心,一起进步
打开APP
公司名片
凡亿专栏 | 走进了解C语言的存储类型
走进了解C语言的存储类型

在C语言里,存储类型(也称为类型声明)是变量或函数声明的一部分,用于指定变量的存储方式、作用域及生命周期,正确选择这些存储类型,有利于维护代码性能。

image.png

1、auto类型

描述:auto是C语言中的默认存储类型,用于定义在寄存器上的变量。然而,实际上编译器并不保证所有的auto变量都会存储在寄存器中,这取决于具体的实现和硬件条件。

特点:auto变量在函数执行时分配空间,函数结束时释放空间。此外,auto类型的变量不能取地址,因为其存储位置可能不固定。

2、register类型

描述:register类型用于定义一个变量,使其存储在CPU的寄存器中,以提高访问速度。

特点:由于寄存器数量有限,register类型的变量不能过多使用。此外,register类型的变量同样不能取地址。

3、static类型

描述:static类型用于限定变量或函数的作用范围,使其只能在当前文件内使用。此外,static还可以用来延长变量的生命周期,使其在程序执行期间一直存在。

特点:static类型的变量在程序开始时分配空间,在程序结束时释放空间。对于函数来说,static修饰的函数只能在定义它的文件中被调用。

4、extern类型

描述:extern类型用于声明一个变量或函数是从其他文件中使用的。它告诉编译器,该变量或函数在程序的其他地方已经定义过了。

特点:extern类型的变量在链接阶段与其他文件中的同名变量进行匹配,以实现跨文件访问。

5、const类型

描述:const类型用于声明只读的变量。const修饰的变量在初始化后不能被修改。

特点:const修饰的局部变量存储在栈上,但其值不能被改变(尽管可以通过指针绕过这种限制,但这是不推荐的做法)。const修饰的全局变量存储在只读数据段(.ro段),在程序执行期间保持不变。


本文凡亿教育原创文章,转载请注明来源!

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表凡亿课堂立场。文章及其配图仅供工程师学习之用,如有内容图片侵权或者其他问题,请联系本站作侵删。
相关阅读
进入分区查看更多精彩内容>
精彩评论

暂无评论