局部变量

  • 在函数的开头定义
  • 在函数内的符合语句内定义
  • 作用范围
    在包含该局部变量的函数内有效
一个函数内部,可以在复合函数语句中定义变量,这些变量只在本复合语句中有效,这种符合语句称为分程序或程序块
#include<stdio.h>
int main(){
int a = 0,b = 0;
{
int c;
c = a+b;
}
return 0;
}
c在复合语句中有效,离开复合语句就失效了
  • 生命周期
    函数调用完就失效

全局变量

  • 定义在函数之外的变量叫做全局变量,都是存放在静态存储区中的
  • 作用范围
    可以被该文件的其他函数所共用,从定义变量的位置到本源文件结束
  • 生命周期
    在程序的全部执行过程中都占用存储单元

注意:当全局变量和局部变量重名时,全局变量会被屏蔽

静态局部变量

  • 作用范围
    在编译时赋初值,只赋值一次,每次调用函数时不再重新赋值而只是保留上次函数调用结束时的值
  • 生命周期
    在程序整个运行期间都不会释放

注意:虽然静态局部变量在函数调用结束候依然存在,但其他函数是不能引用他的。因为他是局部变量,只能被本函数引用,不能被其他函数引用。

静态全局变量

很明显具有全局变量和静态局部变量的性质
从定义到本文件结束,会保留上一次赋的值

#include<stdio.h>
static int a = 10;
int main(){int a = 9;printf("a=%d",a);
return 0;
}

当静态全局变量和局部变量冲突时,会遵循就近原则选择局部变量

c语言的局部变量,全局变量及静态局部变量和静态全局变量相关推荐

  1. c 全局变量多线程调用_c语言局部变量 静态局部变量 全局变量与静态全局变量...

    基本概念: 作用域:起作用的区域,也就是可以工作的范围. 代码块:所谓代码块,就是用{}括起来的一段代码. 数据段:数据段存的是数,像全局变量就是存在数据段的 代码段:存的是程序代码,一般是只读的. ...

  2. 【C语言局部变量/静态局部变量/全局变量与静态全局变量

    1基本概念: 作用域:起作用的区域,也就是可以工作的范围. 代码块:所谓代码块,就是用{}括起来的一段代码. 数据段:数据段存的是数,像全局变量就是存在数据段的 代码段:存的是程序代码,一般是只读的. ...

  3. c语言局部变量 静态局部变量 全局变量与静态全局变量

    基本概念: 作用域:起作用的区域,也就是可以工作的范围. 代码块:所谓代码块,就是用{}括起来的一段代码. 数据段:数据段存的是数,像全局变量就是存在数据段的 代码段:存的是程序代码,一般是只读的. ...

  4. c语言中全局变量多线程调用-局部变量、静态局部变量、全局变量与静态全局变量分析

    基本概念: 作用域:起作用的区域,也就是可以工作的范围. 代码块:所谓代码块,就是用{}括起来的一段代码. 数据段:数据段存的是数,像全局变量就是存在数据段的 代码段:存的是程序代码,一般是只读的. ...

  5. C语言中全局变量、局部变量、静态全局变量、静态局部变量的区别 (转)

    1.C++变量根据定义的位置的不同的生命周期,具有不同的作用域,作用域可分为6种: 全局作用域,局部作用域,语句作用域,类作用域,命名空间作用域和文件作用域. 从作用域看: 1>全局变量具有全局 ...

  6. 静态全局变量与静态局部变量在C语言中的赋值

    静态全局变量 作用域仅限于变量被定义的文件中,其他文件即使用 extern 声明也没法使用他.准确地说作用域是从定义之处开始,到文件结尾处结束,在定义之处前面的那些代码行也不能使用它.想要使用就得在前 ...

  7. C语言中全局变量、局部变量、静态全局变量、静态局部变量的含义

    int a = 0; //全局变量 static int a=0; //静态全局变量 void func() { int b; //局部变量static int b; //静态局部变量 } 全局变量: ...

  8. 【C语言】数据存储分类(动态、静态存储)、作用域(全局变量、局部变量)详解--(已配图,更方便理解)

    目录 1.变量分类(引入存储类别) 1)存在时间看动态存储还是静态存储 2)作用域:局部变量和全局变量 1.变量分类(引入存储类别) 变量和函数都有两个属性:数据类型和数据存储类别(auto自动.st ...

  9. C语言中全局变量、局部变量、静态全局变量、静态局部变量

    1.从作用域看: 1>全局变量具有全局作用域.全局变量只需在一个源文件中定义,就可以作用于所有的源文件.当然,其他不包含全局变量定义的源文件需要用extern 关键字再次声明这个全局变量. 2& ...

最新文章

  1. 深度学习如何选择模型
  2. js 每隔四位加一个空格
  3. 调试中的一些Python错误
  4. 尤雨溪写的100多行的“玩具 vite”,十分有助于理解 vite 原理
  5. 使用Excel VBA(快捷键)(加菜单)
  6. 10-Mybatis 多表查询之多对多
  7. setInterval定时连接后台防止session失效
  8. latex algorithm 引用格式错误
  9. JAVA多线程之男朋友和女朋友之间的故事
  10. 解决:启动项目报错 java.lang.NoClassDefFoundError: org/apache/commons/fileupload/FileItemFactory...
  11. 2022网络工程师必看好书(最新整理,附PDF下载)
  12. UniWebview Bug处理记录
  13. AI challenger 2018图片分类比赛—农作物病害检测
  14. win10设置让所有文件夹查看方式都是详细信息
  15. freeMarker导出word带图片
  16. 吉大计算机专业有名的导师,2019吉林大学计算机科学与技术学院导师简介:申铉京...
  17. YOLO家族再度升级——阿里达摩院DAMO-YOLO重磅来袭
  18. 【光电工程实训】几何光学 小孔成像 光的反射 光的折射 透镜成像
  19. 迭代器(list迭代器的实现)
  20. AB test | 学习笔记

热门文章

  1. 手动GHOST安装系统方法教程图解
  2. 6.17.用100元人民币兑换10元,5元和一元的纸币共50张,请用穷举法编程计算共有几种兑换方法,每种方法各兑换多少张纸币。
  3. msedge新建标签页被联想电脑管家篡改的解决办法
  4. 微信小程序订单管理源码_【程序源代码】微信小程序商城管理系统
  5. 实战|手把手教你如何使用抓包神器MitmProxy
  6. oc字典放入到数组里,根据字典里的属性排序(重点)
  7. 分享7 个开源项目管理工具
  8. win10与fedora35双系统,设置win10为开机启动首选项
  9. Android 华为手机 导航栏隐藏
  10. 龙腾10.1寸屏M101NWT2 R1PDF规格资料参数