变量
数据类型¶
C++ 内置了六种基本数据类型:
类型 | 关键字 |
---|---|
布尔型 | bool |
字符型 | char |
整型 | int |
浮点型 | float |
双浮点型 | double |
无类型 | void |
一些基本类型可以使用一个或多个类型修饰符进行修饰: signed
, unsigned
, short
, long
类型 | 字节数 | 范围 |
---|---|---|
char | 1 个字节 | -128 到 127 或者 0 到 255 |
int | 4 个字节 | -2147483648 到 2147483647( 2^{31} - 1 ) |
float | 4 个字节 | -3.4\times 10^{38} 到 3.4\times 10^{38} |
double | 8 个字节 | -1.7\times 10^{-308} 到 1.7\times 10^{308} |
声明变量¶
使用关键词加上变量名即可声明。
1 2 3 | int oi; double wiki; char org = 'c'; |
声明时没有初始化值的全局变量会被初始化为 0。而局部变量没有这种特性,需要手动赋初始值。
变量作用域¶
作用域是变量可以发挥作用的代码块。
变量分为全局变量和局部变量。 在所有函数外部声明的变量,称为全局变量。 在函数或一个代码块内部声明的变量,称为局部变量。
全局变量的作用域是整个文件,全局变量一旦声明,在整个程序中都是可用的。
局部变量的作用域是声明语句所在的代码块,局部变量只能被函数内部或者代码块内部的语句使用。
由一对大括号括起来的若干语句构成一个代码块。
1 2 3 4 5 6 | int g = 20; // 声明全局变量 int main() { int g = 10; // 声明局部变量 printf("%d\n", g); // 输出 g return 0; } |
在一个代码块中,局部变量会覆盖掉同名的全局变量,比如上面的代码输出的 g 就是 10 而不是 20。为了防止出现意料之外的错误,请尽量避免局部变量与全局变量重名的情况。
常量¶
常量是固定值,在程序执行期间不会改变。这些固定的值,又叫做字面量。
常量的值在定义后不能被修改。声明时加一个 const
关键字即可。
1 2 | const int a = 2; a = 3; |
如果修改了常量的值,在编译环节就会报错: error: assignment of read-only variable‘a’
。
build本页面最近更新:,更新历史
edit发现错误?想一起完善? 在 GitHub 上编辑此页!
people本页面贡献者:OI-wiki
copyright本页面的全部内容在 CC BY-SA 4.0 和 SATA 协议之条款下提供,附加条款亦可能应用