C语言中的变量访问控制和存储类别
2016-11-20 19:00
260 查看
根据变量的访问类别可以分为局部变量和全局变量。
局部变量是指在函数内部定义的变量。只在函数的内部有效,函数外部不能对其进行访问。同理,不在函数内部定义的变量被称为外部变量也就是全局变量。全局变量可被多个函数访问,C语言中全局变量的作用域为从变量定义处到源文件结束。
根据变量的存储类型可分为静态变量和动态变量。
静态变量是指程序运行期间具有固定的存储空间的变量。动态变量则是由程序实时分配的变量,如函数的形参,非static修饰的局部变量。静态变量有:static修饰的局部变量和全局变量。
所以:全局变量一定是静态变量,局部变量可以是静态变量也可以不是。由此可见动态变量是指没有static修饰的局部变量
静态变量的生存周期是从程序加载到内存中开始一直到程序执行结束;动态变量的生存周期和其所在的函数有关,不一定会随着函数的执行而创建(定义在某代码块分支中),一定会随着函数的结束而结束。(这里个人认为静态变量在程序加载到内存中时就会被创建,分配内存空间)
这里局部静态变量依然是局部变量,所以它的可访问范围并不会发生改变。
个人总结,如有错误欢迎指正!
局部变量是指在函数内部定义的变量。只在函数的内部有效,函数外部不能对其进行访问。同理,不在函数内部定义的变量被称为外部变量也就是全局变量。全局变量可被多个函数访问,C语言中全局变量的作用域为从变量定义处到源文件结束。
根据变量的存储类型可分为静态变量和动态变量。
静态变量是指程序运行期间具有固定的存储空间的变量。动态变量则是由程序实时分配的变量,如函数的形参,非static修饰的局部变量。静态变量有:static修饰的局部变量和全局变量。
所以:全局变量一定是静态变量,局部变量可以是静态变量也可以不是。由此可见动态变量是指没有static修饰的局部变量
静态变量的生存周期是从程序加载到内存中开始一直到程序执行结束;动态变量的生存周期和其所在的函数有关,不一定会随着函数的执行而创建(定义在某代码块分支中),一定会随着函数的结束而结束。(这里个人认为静态变量在程序加载到内存中时就会被创建,分配内存空间)
这里局部静态变量依然是局部变量,所以它的可访问范围并不会发生改变。
个人总结,如有错误欢迎指正!
相关文章推荐
- C语言变量的存储类别
- C语言变量存储类别和内存四区
- C语言:变量存储类别
- C语言中局部变量和全局变量变量的存储类别(static,extern,auto,register)
- 黑马程序员——C语言中变量的存储类别
- 7.2 C语言变量的存储类别
- C语言中局部变量和全局变量变量的存储类别(static,extern,auto,register)
- C语言变量的存储类别
- C语言变量的存储类别
- C语言温习笔记之变量的存储类别
- C语言中局部变量和全局变量的存储类别(static,extern,auto,register)
- C语言变量的存储类别
- c语言中关于变量存储类别的心得
- C语言变量的存储类别专题讲座-学C者必看
- C语言中变量存储类别
- c语言 变量的存储类别以及对应的内存分配?
- C语言及程序设计提高例程-12 变量的存储类别
- C语言中变量的存储类别及其存储方式
- C语言变量的存储类别
- C语言变量的存储类别