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. 数据分析例子-------CTR1

    1.CTR: (1)几个概念: impression(展示):用户看到该广告的次数.也就是一个广告被显示了多少次,它就计数多少.比如:打开网站的一个页面,网站上的所有广告就被显示了一次,每个广告增加1 ...

  2. 如何指定GCC的默认头文件路径

    如何指定GCC的默认头文件路径 网上偶搜得之,以之为宝:)原地址:http://blog.chinaunix.net/u/28781/showart.php?id=401631============ ...

  3. el表达式中的比较和包含

    相等( equal ) :eq 不相等( not equal ): ne / neq 大于( greater than ): gt 小于( less than ): lt 大于等于( great th ...

  4. JavaScript之Ajax技术

  5. Erlang语言入门

    Erlang语言入门 下载Erlang,http://www.erlang.org/downloads 安装之后开始菜单中有Erlang图标,打开之后是Erlang Shell,可以定制喜欢的颜色和字 ...

  6. 初学ToggleButton 点击button,更换button背景图片;再次点击,恢复之前背景图

    上方的图标,R.drawable.register_checked  是选中图片 下方的图标,   R.drawable.register_unchecked 是未选中图片 默认是上方的选中效果.点击 ...

  7. iOS项目开发实战——制作视图的缩放动画

    视图的大小应该是随时可控的.今天我们就来实现对一个View的缩放动画.该动画的实现与位移动画,透明度动画稍有不同. 详细实现例如以下: import UIKit class ScaleViewCont ...

  8. asp.net website 单独编译某个页面,连带编译app_code

    选中某一个页面,然后右键build page

  9. CodeForces--606A --Magic Spheres(模拟水题)

    Magic Spheres Time Limit: 2000MS   Memory Limit: 262144KB   64bit IO Format: %I64d & %I64u Submi ...

  10. 利用DBMS_SQLTUNE优化SQL

    DBMS_SQLTUNE优化SQL是在oracle10g才出来的新特性,使用它能很大程度上方便对sql的分析和优化.执行DBMS_SQLTUNE包进行sql优化需要有advisor的权限: stat& ...