c/c++变量学习总结
2016-01-19 18:59
591 查看
一、 变量分类:
1、从作用域来划分分为:
局部变量
- 自动变量auto,即动态局部变量(离开函数,值消失)
- 静态局部变量static(离开函数,值还保留)
- 寄存器局部变量register(离开函数,值消失)
- 形式参数可以定义为自动变量或者register变量
全局变量
- 静态外部变量(作用域只能在该文件中,文件作用域)
- 外部变量(非静态外部变量,全局变量,可以被其它文件使用)
2、 从变量的生存周期来分:
动态存储
-
自动变量auto
-
寄存器变量register
-
形式参数
静态存储
-
静态局部变量
- 静态外部变量
-
外部变量(全局变量)
3、从变量值存放的位置:
内存中的静态存储区(全局数据区)
- 静态局部变量
- 静态外部变量
-
外部变量(全局变量)
内存中的动态存储区(栈)
- 自动变量auto
- 形式参数
CPU中的寄存器
- 寄存器变量register
二、变量对比
1、从作用域来划分分为:
局部变量
- 自动变量auto,即动态局部变量(离开函数,值消失)
- 静态局部变量static(离开函数,值还保留)
- 寄存器局部变量register(离开函数,值消失)
- 形式参数可以定义为自动变量或者register变量
全局变量
- 静态外部变量(作用域只能在该文件中,文件作用域)
- 外部变量(非静态外部变量,全局变量,可以被其它文件使用)
2、 从变量的生存周期来分:
动态存储
-
自动变量auto
-
寄存器变量register
-
形式参数
静态存储
-
静态局部变量
- 静态外部变量
-
外部变量(全局变量)
3、从变量值存放的位置:
内存中的静态存储区(全局数据区)
- 静态局部变量
- 静态外部变量
-
外部变量(全局变量)
内存中的动态存储区(栈)
- 自动变量auto
- 形式参数
CPU中的寄存器
- 寄存器变量register
二、变量对比
相关文章推荐
- C++ 学习笔记(一些新特性总结3)
- C++ 学习笔记(一些新特性总结3)
- C/C++函数指针声明
- C++学习之继承篇一(继承权限)
- 编译器对齐机制——由一道求C++类大小的题说开
- 解析C++中四种强制类型转换的区别详解
- C++相关的复习
- C++: std::string 与 Unicode 如何结合?
- 学习历程《C语言陷阱和缺陷》
- Rcpp简明入门
- 详解C++编程中一元运算符的重载
- C++设计模式——享元模式
- C++中#define、typedef和const的区别
- 详解在C++中显式默认设置的函数和已删除的函数的方法
- 类的组合和继承
- C++经典面试题
- Java内存模型FAQ(二) 其他语言,像C++,也有内存模型吗?
- 改善程序与设计的55个具体做法之一:视C++为语言联邦
- operator new在C++中的各种写法
- 1008. Elevator (20)