在 C++ 中,变量 是程序中用于存储数据的基本单元,可以理解为一块带有名字的内存空间,用来存放程序运行过程中会改变的数据。
下面从概念 → 定义 → 类型 → 作用域 → 使用示例系统讲解。
一、变量的基本概念
-
变量 = 变量名 + 数据类型 + 值
-
变量对应计算机内存中的一个地址
-
程序运行时,变量的值可以被修改
int age = 18;
含义:
-
int:数据类型 -
age:变量名 -
18:存储在变量中的值
二、变量的定义与初始化
1️⃣ 定义变量
数据类型 变量名;
示例:
int a;
double b;
char c;
2️⃣ 初始化方式
int x = 10; // C 风格
int y(20); // 构造函数风格
int z{30}; // ✅ C++11 推荐(防止窄化转换)
⚠️ 建议始终初始化变量,避免未定义行为
三、常见数据类型
| 类型 | 说明 | 示例 |
|---|---|---|
int |
整数 | int a = 5; |
float |
单精度浮点数 | float f = 3.14f; |
double |
双精度浮点数 | double d = 3.14159; |
char |
字符 | char c = 'A'; |
bool |
布尔值 | bool ok = true; |
string |
字符串(C++) | string s = "Hello"; |
四、变量的命名规则
✅ 合法规则:
-
由字母、数字、下划线组成
-
不能以数字开头
-
区分大小写
-
不能使用 C++ 关键字
❌ 非法示例:
int 1a; // ❌
int float; // ❌
✅ 推荐命名风格:
int studentAge;
double max_score;
五、变量的作用域
1️⃣ 局部变量
定义在函数或语句块内,只在内部有效:
void func() {
int x = 10; // 局部变量
}
2️⃣ 全局变量
定义在函数外,整个程序可用:
int g_count = 0; // 全局变量
⚠️ 尽量避免过多全局变量,影响可维护性。
六、常量变量(const)
const double PI = 3.14159;
PI = 3.14; // ❌ 错误,常量不可修改
✅ 用于防止误修改、提高代码安全性。
七、变量的存储类别(简要)
| 关键字 | 说明 |
|---|---|
auto |
自动变量(默认) |
static |
静态变量,生命周期长 |
register |
建议存入寄存器 |
extern |
外部变量声明 |
示例:
static int count = 0;
八、综合示例
#include <iostream>
using namespace std;
int main() {
int age = 20;
double height = 1.75;
char grade = 'A';
bool isStudent = true;
cout << "年龄:" << age << endl;
cout << "身高:" << height << endl;
cout << "等级:" << grade << endl;
return 0;
}
九、常见错误
❌ 使用未初始化变量
❌ 变量名冲突
❌ 类型不匹配
❌ 作用域混乱