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. Django:URL,Views,Template,Models

    准备工作:熟悉Django命令行工具 django-admin.py 是Django的一个用于管理任务的命令行工具,常用的命令整理如下: <1> 创建一个django工程 : django ...

  2. Project Euler 42 Coded triangle numbers

    题意:三角形数序列的第n项由公式tn = 1/2n(n+1)给出:因此前十个三角形数是: 1, 3, 6, 10, 15, 21, 28, 36, 45, 55, - 将一个单词的每个字母分别转化为其 ...

  3. SQLAlchemy小知识点

    1.创建数据库模型的时候增加添加上注释SQLAlchemy1.2新增了comment参数telephone = db.Column(db.String(11), nullable=False, com ...

  4. j2ee消息中间件

    http://blog.csdn.net/apanious/article/details/51014396

  5. docker 下载镜像 ( 以 mysql为例 )

    一.官方镜像仓库 https://hub.docker.com/explore/ 二.常用操作 三.使用命令查看 mysql [root@localhost fw]# docker search my ...

  6. hdu 4079简单贪心

    #include<stdio.h> #include<string.h> #define ll __int64 #define N 11000 struct node { in ...

  7. ElasticSearch 深度分页解决方案

    常见深度分页方式 from+size 另一种分页方式 scroll scroll + scan search_after 的方式 es 库 scroll search 的实现 常见深度分页方式 fro ...

  8. 0113针对大数据量SUM的优化-思路

    转自博客:http://bbs.csdn.net/topics/390426801?page=1 优化思路:无论如何你的结果都是要扫描全有表记录,而在456010记录中,的UserName的分布导致这 ...

  9. [SharePoint2010开发入门经典]SPS2010列表编程

    本章概要: 1.理解SPS2010列表的结构和功能 2.使用客户端和服务器端对象模型,web service,wcf和RESTful service进行列表编程. 3.理解方法的使用 4.类表编程

  10. Flask + mod_wsgi + Apache on Windows 部署成功(随时接受提问)

    前言 说是前言,纯粹就是吐槽. 假设你赶时间.全然能够跳过这部分,我保证不会在这里隐藏不论什么实用的内容. 人上年纪后.可能冲劲不足,我花了大概两周的时间才成功的将flask部署到windows上.还 ...