变量的存储

描述

C程序

** 今天为大家带来变量存储的详细教程**

变量

在编写C程序的过程中,我们常常会使用到变量。而基本的变量类型在前面的教程也已经讲到,在我们创建这些变量的时候,变量会被创建在内存。值得注意的是,变量在不同的内存中有着不同的特性,因此,我们可以通过一些关键字来规定变量在内存创建的位置。从而达到我们想要的结果。

    在C语言中,变量在内存中的存储方式主要分为静态存储和动态存储。这两者的区别在于静态存储有固定的内存空间,而动态存储的内存空间是根据情况而定的。我们可以通过如下关键字来定义变量的存储位置。
  1. register 变量
    在C语言中,我们可以通过 register 关键字标记变量,使用register关键字标记的变量会创建在寄存器中。但是在通常情况下,这样做没有什么作用,因为绝大多数的硬件的寄存器都不会占用内存空间。所以编译器会默认忽视 register 关键字。如果想有效地使用 register 关键字,就要通过一些汇编指令。但是不同硬件之间的寄存器又有所不同,因此 register 关键字的作用不大。
    
  2. auto 变量
    在C语言中,我们可以通过 auto 关键字创建一个自动的局部变量。加上这个关键字的变量在每一次定义的时候都会自动创建出一个新的变量,并且会对这个新的变量重新初始化。例如:
    
void autoAdd() {
  auto int autonum = 0;
  autonum =autonum + 1;
  cout << autonum << endl;
}
int  main() {
  autoAdd();
  autoAdd();
}

C程序

从结果可以看到,调用两次函数后结果是同样的。因为auto修饰的变量每一次定义都会重新创建。
  1. extern 变量
    在C语言中, extern 关键字可以声明程序中会用到但还未定义的变量。 extern 在分文件编写的工程中尤为重要。因为在实际开发中,我们都会分文件,分功能编写。不同的文件会用到相同的变量,因此, extern 关键字是十分重要的。
    
  2. static 变量
    在C语言中, static 关键字可以将变量改为静态变量。静态变量会将数据存储在内存的全局区,全局区的数据在使用完成后释放。因此,静态变量可以始终保持其原本的值。
    

今天的内容就到这里,下期小编将带大家继续学习,各位看官老爷记得查阅哦~

C程序C程序C程序

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分