编译器给变量分配内存
在函数外部定义的变量叫做全局变量(Global Variable),在函数内部定义的变量叫做局部变量(Local Variable)
一个变量,即使不给它赋值,它也会有一个默认的值,这个值就是默认初始值。

对于全局变量,它的默认初始值始终是 0,因为全局变量存储在内存分区中的全局数据区,这个区域中的数据在程序载入内存后会被初始化为 0。而对于局部变量,C语言并没有规定它的默认初始值是什么,所以不同的编译器进行了不同的扩展,有的编译器会初始化为 0,有的编译器放任不管,爱是什么就是什么。

在 main 函数中定义的变量也是局部变量,只能在 main 函数中使用;同时,main 函数中也不能使用其它函数中定义的变量。main 函数也是一个函数,与其它函数地位平等。
形参变量、在函数体内定义的变量都是局部变量。实参给形参传值的过程也就是给局部变量赋值的过程。
可以在不同的函数中使用相同的变量名,它们表示不同的数据,分配不同的内存,互不干扰,也不会发生混淆。
在语句块中也可定义变量,它的作用域只限于当前语句块。

最新文章

  1. iOS 应用的生命周期
  2. React组件性能优化
  3. 怎么解析json串在.net中
  4. jQuery Layer mobile 弹出层
  5. [codeforces 360]A. Levko and Array Recovery
  6. 【BZOJ1179】 [Apio2009]Atm tarjan缩点+SPFA
  7. poj 3518 Corporate Identity 后缀数组->多字符串最长相同连续子串
  8. request.ServerVariables获取环境变量
  9. 动态规划以及在leetcode中的应用
  10. Courses(最大匹配)
  11. iOS中的图像处理(二)——卷积运算
  12. 在线压缩JS的工具
  13. Linux驱动模型解析bus之platform bus
  14. s6-4 TCP 数据段
  15. srs2.0安装问题
  16. cinder 和 qt5 vs2015结合
  17. 1、My Scripts
  18. 20155223 实验5 MSF基础应用
  19. maven mvn package 打包项目时,出现错误导致失败的解决方法
  20. KVM基本实现原理

热门文章

  1. 【转载】NBU异机恢复oracle
  2. YOLO v1到YOLO v4(下)
  3. RADAR和LIDAR区别分析
  4. Docker基本概念介绍
  5. 使用adb命令查看APP包名 和 包入口方法
  6. C#基础之checked与 unchecked的使用
  7. 【VBA】类型转换
  8. SpringMVC 进阶版
  9. WPF添加外边框,添加外边框虚线
  10. DOS命令行(5)——Windows系统的配置与管理(下)