C++变量的概念及用法

在 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;
}

九、常见错误

❌ 使用未初始化变量

❌ 变量名冲突

❌ 类型不匹配

❌ 作用域混乱


相关推荐
Bruce_Liuxiaowei31 分钟前
Python 实例赋值遮蔽类属性:一个从不报错的静默陷阱
开发语言·python·语法糖
aramae2 小时前
MySQL内置函数(7)
开发语言·笔记·后端·mysql·其他
汉克老师2 小时前
CSP-J 2026 初赛试题解析(第一部分:选择题(8-15))精讲
c++·csp-j·小学生·学c++编程
wabs6663 小时前
关于二叉树【力扣572.另一棵树的子树的思考】
数据结构·c++·算法·leetcode·二叉树
风合星语4 小时前
2026 ROS 2 Lyrical C++ 入门(五):Action 实战——任务反馈、取消与超时处理
c++·机器人·ros2·异步编程·lyrical
91刘仁德5 小时前
C++ 继承和多态 设计模式
c语言·c++·笔记
码行山野赴时序归途5 小时前
链表家族收官篇:循环链表
c语言·开发语言·数据结构·链表
景熙55235 小时前
单体项目编写思路和落地形式
java·开发语言
库玛西5 小时前
哈夫曼树与前缀编码:数据压缩的贪心核心
c语言·c++·笔记·考研
别动我齐刘海5 小时前
ROS2 Jazzy + C++ 实战路线——进阶学习3
c++·人工智能·vscode·python·算法·机器学习·机器人