1、变量作用域

  2、局部变量

  3、全局变量

  4、变量生命周期

  5、auto关键字

  6、static关键字

1、变量作用域

  • 变量作用域是指变量的有效范围

  • 变量作用域是定义变量从何处被创建,到何处被销毁

  • 变量作用域由所在的最近一对大括号确定。

2、局部变量

  • 局部变量出现在一个作用域内

  • 局部变量有可能在一个函数体内部

–此时局部变量也被称为自动变量

–由关键字auto说明,但可以省略

  • 局部变量也有可能在一个复合语句中

3、全局变量

  • 全局变量被定义在函数体的外部
  • 全局变量不受作用域的影响
  • 程序中的所有函数都可以访问全局变量
  • 使用extern关键字声明另一个文件定义的全局变量

4、变量生命周期

  • 变量生命周期是指变量具有内存空间的时间

-当变量被创建时,就会开辟一块内存空间给变量,此时称为变量诞生。

-当变量被销毁时,会将变量相应的内存空间收回,此时称为变量死亡。

  

5、auto关键字

  • 当修饰局部变量的时候加auto(默认)
  • 声明变量时,会创建内存空间
  • 当变量超出作用域,就会消除相应的内存空间。

6、static关键字

  • 当修饰局部变量的时候

-加static此时称为静态局部变量

-此时变量的生命周期就会变长,长到程序结束为止

-虽然静态变量的生命周期变长,但作用域依然在函数内部。

  • 当修饰全局变量的时候

-加static此时称为静态全局变量

-此时变量的作用域被限定在所在文件

C语言基本语法——变量的更多相关文章

  1. C语言基础语法

    #include <stdio.h> int main() { int age; printf("input your age"); scanf("%d&qu ...

  2. 02. Go 语言基本语法

    Go语言基本语法 变量.数据类型和常量是编程中最常见,也是很好理解的概念.本章将从 Go 语言的变量开始,逐步介绍各种数据类型及常量. Go 语言在很多特性上和C语言非常相近.如果读者有C语言基础,那 ...

  3. (9)模板层 - templates(模板语言、语法、取值、过滤器、变量的使用)

    django的模板语言:DTL 模板语言的变量传入 这个是标签 {{ 变量名 }} {{ 变量名 }}   #模板语言的替换可以在模板中的任意位置生效 PS:通过 . 可以做深度查询 模板语言的过滤器 ...

  4. C语言 遍历流程 变量生命周期

    来自c程序设计 谭浩强 程序编译流程 运行c程序的步骤 在编好一个c程序后.怎样上机进行编译运行呢?一般要经过一下几个步骤: 上机输入和编辑源程序.通过键盘和计算机输入程序,如果发现有错误,要及时改正 ...

  5. Java语言基本语法

    Java语言基本语法 一.标识符和关键字 标识符 在java语言中,用来标志类名.对象名.变量名.方法名.类型名.数组名.包名的有效字符序列,称为“标识符”: 标识符由字母.数字.下划线.美元符号组成 ...

  6. C 语言中的变量为什么不能以数字打头

    C 语言中的变量为什么不能以数字打头? C 语言中的变量为什么不能以数字打头? 不要告诉我编译原理书上有.我暂时看不懂. 除了下面的解释外, “假如变量名允许以数字开头的话,那么语法分析器在解析一个全 ...

  7. C语言中不同变量的访问方式

    C语言中的变量大致可以分为全局变量,局部变量,堆变量和静态局部变量,这些不同的变量存储在不同的位置,有不同的生命周期.一般程序将内存分为数据段.代码段.栈段.堆段,这几类变量存储在不同的段中,造成了它 ...

  8. 初识 go 语言:语法

    目录 语法 for 循环 if 语句 switch 语句 defer 语句 defer 栈 结束 前言: go语言系列第二篇,主要讲述go语言的语法,如循环,if判断,swich语句,defer语句, ...

  9. go语言基本语法

    一个例子总结go语言基本语法  demo.go   package main   import (     "fmt" )   //结构体 type PersonD struct ...

随机推荐

  1. php-fpm优化处理

    php-fpm.conf有两个至关重要的参数:一个是”max_children”,另一个是”request_terminate_timeout”. 我的两个设置的值一个是”40″,一个是”900″,但 ...

  2. List或者Map等对象创建语句放在循环外和循环内的区别

    每一个对象创建的时候都会有一个ID,List对象在执行add方法的时候是将对象的引用放入List中. 如果把创建Map对象的语句放在外面,在将对象add到List中时,前后向List中add的对象都是 ...

  3. HDU2035 - 人见人爱A^B

    求A^B的最后三位数表示的整数.  说明:A^B的含义是"A的B次方" Input 输入数据包含多个测试实例,每个实例占一行,由两个正整数A和B组成(1<=A,B<=1 ...

  4. centos7把编译安装的服务通过systemctl管理

    nginx编译安装的目录是/usr/local/nginx nginx配置文件是/usr/local/nginx/conf/nginx.conf systemctl管理的服务文件在/usr/lib/s ...

  5. 多个API接口

    青云客智能聊天机器人API 为保证接口稳定,API接口正式启用 api.qingyunke.com,www.qingyunke.com 如何更换API接口地址? 答:如果您的API接口是用在微信公众号 ...

  6. https://stackoverflow.com/questions/16130292/java-lang-outofmemoryerror-permgen-space-java-reflection

    https://stackoverflow.com/questions/16130292/java-lang-outofmemoryerror-permgen-space-java-reflectio ...

  7. CF47A Triangular numbers

    CF47A Triangular numbers 题意翻译 给定一个数n,问你是否存在一个整数i,满足i*(i+1)/2=n. 若存在,输出"YES",否则输出"NO&q ...

  8. [Angular] ngx-formly (AKA angular-formly for Angular latest version)

    In our dynamic forms lessons we obviously didn’t account for all the various edge cases you might co ...

  9. Android 开源项目android-open-project解析之(二) GridView,ImageView,ProgressBar,TextView

    五.GridView StaggeredGridView 同意非对齐行的GridView,类似Pinterest的瀑布流.而且跟ListView一样自带View缓存,继承自ViewGroup 项目地址 ...

  10. LightOJ--1094-- Farthest Nodes in a Tree(树的直径裸题)

    Farthest Nodes in a Tree Time Limit: 2000MS Memory Limit: 32768KB 64bit IO Format: %lld & %llu S ...