c++基础篇(五)——变量

前言:
   本篇文章介绍c++的变量用法。

1 介绍

  在 C++ 中,变量是用来存储数据的命名内存位置。每个变量都有一个类型(如整数、浮点数、字符等),它决定了变量可以存储的数据种类以及占用的内存大小。定义变量就是告诉编译器为某个名字分配一块内存空间,并指定其类型。

类型 关键字 含义 典型大小
整型 int 整数(如 -10, 0, 100) 4 字节
短整型 short 较小整数 2 字节
长整型 long 较大整数 4 或 8 字节
长长整型 long long 更大整数 8 字节
单精度浮点型 float 小数(精度约7位) 4 字节
双精度浮点型 double 高精度小数(约15位) 8 字节
字符型 char 单个字符(如 ‘a’) 1 字节
布尔型 bool 真/假(true/false) 1 字节
空类型 void 无类型(不能定义变量) ——

2 变量命名规则如下

  • 必须以字母或下划线 _ 开头
  • 后续可以是字母、数字、下划线
  • 区分大小写:ageAge 是不同变量
  • 不能使用关键字(如 int, return, if 等)
  • 推荐使用有意义的名字(见名知意)

3 定义

  定义变量就是告诉编译器为某个名字分配一块内存空间,并指定其类型。比如定义一个 int 变量。

1
int num;

  在定义变量的同时给它赋初值,称为初始化。

1
2
3
int age = 25;
double salary(5000.5);
char grade = 'A';

  c++支持多种初始化方式(C++11 起):

1
2
3
4
int a = 10;        // 拷贝初始化
int b(20); // 直接初始化
int c{30}; // 列表初始化(推荐,更安全)
int d = {40};

  为什么使用列表初始化更安全?因为可以防止 窄化转换 (narrowing conversion),在编译阶段由编译器报错。

1
int x{3.14};       // 编译错误!防止精度丢失

4 作用域

  变量根据定义位置不同,有不同的作用范围:

类型 说明
局部变量 在函数或代码块内定义,只在该范围内有效
全局变量 在所有函数之外定义,整个程序都可访问
静态变量 static 修饰,生命周期延长
形参 函数参数,也属于局部变量