变量的作用域:有效射程变量

》局部变量

1.在函数中的局部变量,量在该函数结束后自己主动撤销

2.函数内的复合语句中的局部变量(比方for语句),这个变量在复合语句结束后自己主动撤销。这个变量能够与1中的变量重名,在复合语句作用域中里面定义的变量权限更高,考虑到可读性不推荐这么做

比如:

#include<stdio.h>
#include<stdlib.h>
void fun1();
int main()
{fun1();
}void fun1()
{int m=200;int i=0;for(i=0;i<1;i++){int m=5;printf("%d",m);}printf("%d\n",m);system("pause");
}//输出结果为:5  200 

》全局变量

定义在全部函数外部的变量,须要注意和区分的是变量的定义和声明。仅仅要在全部函数外面定义的变量就是全局变量 ,所以这个变量不一定在一个文件的最前面几行代码,假设这个变量定义在一个函数的后面。而这个函数须要用到这个变量,那么这个变量就需在这个函数之前声明或者在这个函数内部声明方可使用,假设这个变量定在这个函数的前面,那么能够省去声明。

定义一个变量的一般形式:extern  类型说明符  变量名    (比方:int a  ,在定义的时候extern能够省略。)

声明一个变量的一般形式:extern  类型说明符  变量名    (声明变量时extern不能够省略,)

变量的储存方式:储存方式决定了函数的生存期

》静态储存

能够用keyword  static(描写叙述静态变量)  extern(描写叙述外部变量)  来定义一个'静态储存的变量‘,注意引號之间的措词,也就是说静态变量是採用静态储存方式,而全局变量也是採用静态储存方式,静态变量和静态储存不是一个意思
·静态变量一直存在,在预编阶段分配了内存空间,直到整个程序结束才销毁

》动态储存

能够用keyword auto(描写叙述自己主动变量,假设定义一个变量不写描写叙述符那么就是默认的auto)  register(描写叙述寄存器变量) 来定义一个动态储存的变量。
动态变量在该函数或该复合语句開始运行时分配,结束时自己主动清除内存
比如:函数的形參,在定义函数时并不分配内存,仅仅有在调用时分配。调用结束后自己主动释放内存
复合语句也一个道理

静态变量之全局和局部

》静态局部变量

静态局部变量在函数内定义。他的生存周期为整个程序运行期间,可是其作用域任然与自己主动变量同样,仅仅能在定义该变量的函数内使用该变量,函数调用结束后虽然该变量还继续存在,但不能直接訪问它,假设在整个程序运行期间再次调用定义它的那个函数,在这个函数内可继续使用这个变量,变量的值为上次函数调用完时的状态。这一点非常实用。当然所有变量也能够实现一样的效果,可是easy产生副作用。

》静态全局变量

这个在程序运行期间一直有效,

须要注意的是    静态全局变量  和非静态全局变量(全局变量)

一个程序往往有非常多源码。一个源文件里包括了另外一个源码文件,

总结来说就是:全局变量在全部包括了它的源文件里均有效,而静态全局变量仅仅有在定义它的源文件里有效,

总的结论:经过局部变量,而不是静态变量改变其存储,这改变了它的生命周期;经过全局变量静态变量改变其范围。限制其范围

转载于:https://www.cnblogs.com/gcczhongduan/p/4600420.html

C类型和存储方式的语言变量相关推荐

  1. c语言中变量有几种存储方式,C语言变量的存储类别有哪些详细资料介绍

    描述 C语言中的变量根据其生存周期,可以分为静态存储方式和动态存储方式. 静态存储方式:是指在程序运行期间分配固定的存储空间的方式.静态存储区中存放了在整个程序执行过程中都存在的变量,如全局变量. 动 ...

  2. float类型的存储方式

    float类型的存储方式 float的存储格式 实例分析 示例代码 GDB查看实际存储 float的存储格式 float类型又称为单精度浮点类型,在 IEEE 754-2008 中是这样定义它的结构的 ...

  3. c语言int的存储形式,C语言变量的存储类型有3种,即int型、float型和char型

    摘要: 语言变有半裙大头针别样时采用的是大约( )度斜向下别针法.使用椭圆工具拖出正圆形时,存储需要按住的快捷键是在下面的文件格式中,型f型和型常用于网页中的图像制作的是... 语言变有半裙大头针别样 ...

  4. c语言实型存储方式,.C语言实型数据的编码和存储.pdf

    .C语言实型数据的编码和存储 C 语言实型数据的编码和存储 周恒忠 (皖西学院计算机科学与技术系,安徽 六安 237012 ) 摘 要: C 语言数据类型丰富,而数据类型的确定在程序设计 中又至关重要 ...

  5. float去掉小数点之后_float类型的存储方式

    在c语言中float函数是单精度的.它在内存中以二进制的形式存储.分为符号位,阶码与尾数三部分. 符号位最为简单,如果你存储的是正数那么符号数就是0.如果是负数,则为1. 下面,我以13.625为例说 ...

  6. OpenStack 虚拟机的磁盘文件类型与存储方式

    目录 文章目录 目录 虚拟机的磁盘文件类型 虚拟机磁盘文件的存放方式 QCOW2 镜像格式与 qemu-img 指令 参考文章 虚拟机的磁盘文件类型 Nova 虚拟机的虚拟磁盘主要包含有 Root D ...

  7. GoAccess 支持三种类型的存储方式。请根据你的需要和系统环境进行选择

    默认哈希表 内存哈希表可以提供较好的性能,缺点是数据集的大小受限于物理内存的大小.GoAccess 默认使用内存哈希表.如果你的内存可以装下你的数据集,那么这种模式的表现非常棒.此模式具有非常好的内存 ...

  8. c语言float型存储方式,C语言float型数据在内存中的储存方式

    WPF 自定义IconButton 自定义一个按钮控件 按钮控件很简单,我们在项目中有时把样式封装起来,添加依赖属性,也是为了统一. 这里举例,单纯的图标控件怎么设置 1.UserControl界面样 ...

  9. iOS开发系列--C语言之存储方式和作用域

    概述 基本上每种语言都要讨论这个话题,C语言也不例外,因为只有你完全了解每个变量或函数存储方式.作用范围和销毁时间才可能正确的使用这门语言.今天将着重介绍C语言中变量作用范围.存储方式.生命周期.作用 ...

  10. 变量的存储方式和生存期

    搬运工搬运工~   <--原创在这 变量分类 从变量的作用域(即从空间)角度来分,可以分为全局变量和局部变量.  从变量值存在的作时间(即生存期)角度来分,可以分为静态存储方式和动态存储方式. ...

最新文章

  1. SpringMvc+AngularJS通过CORS实现跨域方案
  2. Oracle的in查询
  3. LeetCode 1732. 找到最高海拔
  4. Jersey中ContainerRequestFilter的使用
  5. python安装Pillow
  6. 免责协议怎么写_员工辞职时,HR得让他这样写离职申请!
  7. mysql不同字符集_如何在mysql中设置不同的字符集
  8. MyBatis学习总结(21)——自定义MyBatis Generator插件
  9. 举例计算机的发展状况,计算机的发展过程教学设计.doc
  10. @value取不到值_Bamboo window上环境变量 HOMEDRIVE 及 HOMEPATH 获取不到的问题
  11. linux产生大量随机数据,linux产生随机数与随机字符
  12. 什么是NFV?什么是SDN?他与SDN的区别是什么
  13. 【容器化部署简介】 基于腾讯云TKE: kubernetes(k8s), github actions, devops
  14. alot英文怎么读_漂亮的英文是什么英语怎么说
  15. MIDI通信协议(翻译)
  16. br-lan、eth0、eth1及lo
  17. 2018信用服务业市场:天眼查、企查查、启信宝、企查猫处第一梯队
  18. android 7.0 连接电脑,Android 7.0:有人欢喜有人愁
  19. 电子音乐及HOUSE的分类知识
  20. 【处理手记】U盘读不出+卷标丢失+像读卡器+大小0+无媒体

热门文章

  1. jQuery做的自定义选项卡
  2. cocos2d-x之物理世界(创建物理世界)
  3. Java HTML转换为图片
  4. hdu 1284 钱币兑换问题 (递推 || DP || 母函数)
  5. Ubuntu 第2章 基本命令和文件系统
  6. arp***的判断与解决方案总结
  7. POJ2676 Sudoku
  8. eslint+prettier+husky的配置说明
  9. 环境php5.2+mysql_php环境搭建问题(简单记录二------php5.2不加载mysql扩展)
  10. java的split的源码_Spring 的split()方法源码部分分析