ios
例如int zombies = 2;
其中zombies是变量名,2是其存储的变量值,可是它可能被放在了内存中的第101~104块,那么它的地址就是101~104(实际可能只显示头部地址)c++
c++建立变量时,须指定变量名称和类型,好比int a;
,数据类型用于指定变量所占用的最大空间(单位为字节)函数
基本数据类型:(因操做系统平台不一样,长度可能会有所不一样)spa
类型 | 长度(字节数) | 取值范围 |
---|---|---|
unsigned short | 2 | 0~65 535 |
short | 2 | -32 768~32 767 |
unsigned long | 4 | 0~4 294 967 295 |
long | 4 | -2 147 483 648~2 147 483 647 |
int | 4 | -2 147 483 648~2 147 483 647 |
unsigned int | 4 | 0~4 294 967 295 |
long long int | 8 | -9.2x1018 ~9.2x1018 |
char | 1 | 256个字符 |
bool | 1 | true或false |
float | 4 | 1.2e-38~3.4e38 |
double | 8 | 2.2e-308~1.8e308 |
其中须注意的是无符号数的长度虽然与有符号数的相同,可是从0开始操作系统
最特殊的是浮点数,浮点数的制定与其余的不一样,它是依据IEEE754标准制定的,浮点表示法应该是一个programer掌握的最基本知识(之后会有深刻理解计算机系统笔记,到时候会再行说明)code
固然,c++也支持用户自定义的变量类型,好比用户定义的类或结构体。内存
要获取变量类型的长度,可以使用sizeof()函数编译器
程序清单3.1 Size.cppstring
驼峰命名法:it
对变量命名使用小驼峰命名法(首单词小写,其他单词首字母大写),如:newWroldRecord
对类名,名称空间使用大驼峰命名法(单词首字母均大写),如:DataBaseManager
除了驼峰命名法以外,没啥可记录的了。
赋值运算符: =
程序清单3.2 Rectangle.cpp
类型定义关键字:typedef
程序清单3.3 NewRectangle.cpp
常量值不会改变,且必须在建立常量时对其进行初始化。c++支持两种类型的常量:字面常量与符号常量
字面常量是直接在须要的地方输入的值
好比:long width = 19;
中,19就是字面常量,true与false也是字面常量。
符号常量是用名称表示的常量,与变量类型类似。声明符号常量时,须要使用关键字const,并在后面跟类型、名称和初值。
好比:const int KILL_BONUS = 5000;
也可定义常量,如:#define KILLBONUS 5000
,因为这种c式定义法没有指定类型,编译器没法确保其值是合适的,因此建议采用const关键字,而非使用编译指令进行常量定义。
枚举常量是在一条语句中建立一组常量,使用关键字enum定义,枚举值放在大括号里,之间逗号进行分隔。
好比:enmu Color {RED=100,BLUE,GREEN=500,WHITE,BLACK=700};
程序清单3.4 Compass.cpp
这里的输出结果是moving 3,缘由是若是不进行显式初始化枚举常量,则枚举值从North开始默认为0,而后递增。
c++有一个关键字auto,可用于根据赋给变量的初值推断出变量的类型,该工做由编译器完成。
好比:auto rate=500/3.0
等价于double rate=500/3.0
程序清单3.5 Combat.cpp
结果是:
Attack rating: 72.8 Damage rating: 38.4
若是上面这个程序您的编译器发出报错或警告,多是您的编译器默认编译的c++版本在14如下,则使用如下编译命令尝试让编译器选择使用c++14进行编译:
g++ -std=c++14 Combat.cpp -o Combat.exe