当前位置:首页C++ > 正文

【C++基础讲解②】变量的存储位置在哪?内存到底占多大?-野牛程序员教少儿编程

作者:野牛程序员:2025-05-21 16:46:39C++阅读 2170
【C++基础讲解②】变量的存储位置在哪?内存到底占多大?-野牛程序员教少儿编程

一、? 为什么要了解变量的“存储”?

在写代码的时候,经常会用到各种变量

变量到底存在哪?占多大空间?怎么管理?
这就涉及到了内存大小存储位置两个非常重要的概念!


二、?️ 变量其实是“电脑记忆格”中的一格

可以这样形象理解?:

电脑内存(RAM)就像一个超大的储物柜,每个小格子都可以存数据,每个格子都有自己的编号(地址)

变量就是把一个数据存在其中一个格子里,并给这个格子起个名字。


三、? 常见类型的内存占用大小

数据类型占用空间(字节)说明(每字节=8位)
char1 byte存1个字符
short2 bytes短整型,小整数
int4 bytes常用整数
long4 / 8 bytes视操作系统架构而定
float4 bytes单精度浮点数(小数)
double8 bytes双精度浮点数(更精确)
bool1 byte(通常)true/false

?这些都是在64位Windows下的常见配置,实际情况可能略有差异。


四、? sizeof()函数:查看变量占用的内存大小

在 C++ 中,用 sizeof() 可以查看任何数据类型或变量的大小:

✅ 示例代码:

#include <iostream>
using namespace std;

int main() {
    int a = 10;
    double b = 3.14;
    char c = 'A';
    bool d = true;

    cout << "int: " << sizeof(a) << " 字节" << endl;
    cout << "double: " << sizeof(b) << " 字节" << endl;
    cout << "char: " << sizeof(c) << " 字节" << endl;
    cout << "bool: " << sizeof(d) << " 字节" << endl;

    return 0;
}

? 输出:

int: 4 字节  
double: 8 字节  
char: 1 字节  
bool: 1 字节

五、? 变量的地址:每个变量在内存中都有“编号”

使用 &变量名 可以查看变量的地址(即它在内存中的位置):

int a = 42;
cout << "a的地址是:" << &a << endl;

输出类似于:

a的地址是:0x61ff08

这是一个十六进制的地址编号,代表它在内存储物柜中的“编号”。


六、? 扩展知识:什么是位(bit)和字节(byte)?

  • 1 字节(Byte) = 8 位(Bit)

  • char 类型 = 1 字节 = 8位
    → 能表示 2⁸ = 256 种不同的字符(ASCII)


七、? 小贴士:为什么了解内存很重要?

  • ? 可以估算程序内存占用(防止超出限制)

  • ?️ 写大型项目时需要精细内存管理

  • ? 防止因溢出而出现运行错误或程序崩溃


野牛程序员教少儿编程与信息学奥赛-微信|电话:15892516892
野牛程序员教少儿编程与信息学竞赛-微信|电话:15892516892
  • 【C++基础讲解②】变量的存储位置在哪?内存到底占多大?-野牛程序员教少儿编程
  • 相关推荐

    最新推荐

    热门点击