C++学习第5篇-变量范围及其他数据类型
2012-02-25 20:06
309 查看
1. 段落和局部变量
段落,亦称混合语句,即由{和}括起来的语句,看作单一的语句执行。
段落是可以嵌套的:
虽然嵌套的层数没有限制,建议层数在3~4层。
变量的范围,即变量的可视范围,在段落中声明的变量称作局部变量。
如上图所示,nValue和dValue都属于局部变量,下图是说明不同段落的变量访问:
段落的外部不能访问内部的变量,若内部的变量与外部变量同名,内部的覆盖外部的变量:
2. 全局变量
声明在段落以外的变量称为全局变量,拥有程序级有效范围。
全局变量可以跨过多个文件,通过前置声明或头文件,使用extern关键字;
使用头文件的,一般是全局变量用在多于2个文件中:
注意:1)尽量避免局部变量和全局变量同名;
2)除非是真正需要,才使用全局变量;因为全局变量可以在任何程序中修改它的值。
3. 文件范围和static关键字
文件范围,即变量仅仅在声明的文件中使用;通过static关键字声明;
自动持续变量,即其所在有效范围退出后,其值还原;
固定持续变量,即使其所在有效范围退出,程序运行期间,其值保持为最新:
4. 类型转换
1)变量赋值时,很多时候为隐式转换;类型的转换顺序:
Long double (highest)
Double
Float
Unsigned long int
Long int
Unsigned int
Int (lowest)
2)对象类型转换,第二种为显式转换:
建议使用:static_cast来进行安全类型转换;
5. 枚举类型
枚举属于自定义数据类型,每个枚举的值对应了一个符号常量;使用enum关键字
定义枚举,知道声明枚举变量时,才分配内存空间;
每个枚举都相当于一个整型值:
可以显示赋予枚举一个常量数值,若为空的,后一个值比前一个值大1;
枚举作为单一类型,重新给变量赋值其他枚举,会产生编译错误;
枚举比数值更有描述性,并且可以在调试中显示,比较实用。
6. 类型别名-typedef
使用typedef关键字定义类型的别名:
使用类型别名,可以隐藏类型的多于描述,如跨平台字节数:
7. 结构体类型
结构体类型属于聚合类型,不同数据类型组合一起;
可以通过成员选择器'.'来访问结构体的成员;
结构体变量可以作为函数参数传递,如:
结构体内亦可以包含其他结构体:
【免责特此声明:
1)本内容可能是来自互联网的,或经过本人整理的,仅仅代表了互联网和个人的意见和看法!
2)本内容仅仅提供参考,任何参考该内容造成任何的后果,均与原创作者和本博客作者无关!】
段落,亦称混合语句,即由{和}括起来的语句,看作单一的语句执行。
段落是可以嵌套的:
虽然嵌套的层数没有限制,建议层数在3~4层。
变量的范围,即变量的可视范围,在段落中声明的变量称作局部变量。
如上图所示,nValue和dValue都属于局部变量,下图是说明不同段落的变量访问:
段落的外部不能访问内部的变量,若内部的变量与外部变量同名,内部的覆盖外部的变量:
2. 全局变量
声明在段落以外的变量称为全局变量,拥有程序级有效范围。
全局变量可以跨过多个文件,通过前置声明或头文件,使用extern关键字;
使用头文件的,一般是全局变量用在多于2个文件中:
注意:1)尽量避免局部变量和全局变量同名;
2)除非是真正需要,才使用全局变量;因为全局变量可以在任何程序中修改它的值。
3. 文件范围和static关键字
文件范围,即变量仅仅在声明的文件中使用;通过static关键字声明;
自动持续变量,即其所在有效范围退出后,其值还原;
固定持续变量,即使其所在有效范围退出,程序运行期间,其值保持为最新:
4. 类型转换
1)变量赋值时,很多时候为隐式转换;类型的转换顺序:
Long double (highest)
Double
Float
Unsigned long int
Long int
Unsigned int
Int (lowest)
2)对象类型转换,第二种为显式转换:
建议使用:static_cast来进行安全类型转换;
5. 枚举类型
枚举属于自定义数据类型,每个枚举的值对应了一个符号常量;使用enum关键字
定义枚举,知道声明枚举变量时,才分配内存空间;
每个枚举都相当于一个整型值:
可以显示赋予枚举一个常量数值,若为空的,后一个值比前一个值大1;
枚举作为单一类型,重新给变量赋值其他枚举,会产生编译错误;
枚举比数值更有描述性,并且可以在调试中显示,比较实用。
6. 类型别名-typedef
使用typedef关键字定义类型的别名:
使用类型别名,可以隐藏类型的多于描述,如跨平台字节数:
7. 结构体类型
结构体类型属于聚合类型,不同数据类型组合一起;
可以通过成员选择器'.'来访问结构体的成员;
结构体变量可以作为函数参数传递,如:
结构体内亦可以包含其他结构体:
【免责特此声明:
1)本内容可能是来自互联网的,或经过本人整理的,仅仅代表了互联网和个人的意见和看法!
2)本内容仅仅提供参考,任何参考该内容造成任何的后果,均与原创作者和本博客作者无关!】
相关文章推荐
- C++学习第5篇-变量范围及其他数据类型
- C/C++学习之C提高----C程序数组排序、数据类型(大小,别名,封装)、变量、程序的内存四区模型(栈,堆,全局,代码区)
- C++学习笔记——2.简单的变量和数据类型
- C++简单学习(Part1_lecture 2)(数据类型、变量类型、变量作用域、常量、修饰符类型)
- C\C++ 程序员从零开始学习Android - 个人学习笔记(四) - java基础 - 数据类型、变量、字符串、数组
- python学习 变量的操作 与 基本数据类型
- Java学习 变量、基本数据类型
- C/C++ 基本类型数据的数值范围
- Python小白学习之路(八)—【变量】【基本数据类型分类】【集合】【集合的功能】
- c++ Premier 学习笔记(unit2 变量和基本类型
- C++基本数据类型大小及表示范围
- python学习笔记-2.python变量和数据类型
- C/C++ 数据类型及范围
- Python新手学习基础之数据类型——变量
- Python学习二——变量和简单数据类型
- C/C++中各种数据类型 如 int ,char long,double 的范围(最大值和最小值)
- PL/SQL学习笔记-变量作用域及数据类型深入
- C++数据类型之一:常量和变量
- C++学习笔记一:cout如何判断输入数据类型
- C/C++ int、long、double、char等各种内置数据类型的表示范围(最大最小值)