C++中常用变量在内存中所占的字节数分别是多少?(使用函数sizeof()实测一下不就知道了)

Posted 昊虹图像算法

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C++中常用变量在内存中所占的字节数分别是多少?(使用函数sizeof()实测一下不就知道了)相关的知识,希望对你有一定的参考价值。

关于C++中常用变量在内存中所占的字节数这个问题,其实没有统一的答案。
因为不同的机器、不同的硬件平台、不同的系统都有可能有不同的标准,特别是整型变量,更是如此。

最好的方式就是用函数sizeof()实测一下。

比如博主用于测试自己当下使用的C++环境各种变量在内存中所占的字节数的代码和结果如下:

#include <iostream>
using namespace std;

int main() 

	cout << "char 类型所占内存字节数为: " << sizeof(char) << endl;

	cout << "short 类型所占内存字节数为: " << sizeof(short) << endl;

	cout << "int 类型所占内存字节数为: " << sizeof(int) << endl;

	cout << "long 类型所占内存字节数为: " << sizeof(long) << endl;

	cout << "long long 类型所占内存字节数为: " << sizeof(long long) << endl;

	cout << "float 类型所占内存字节数为: " << sizeof(float) << endl;

	cout << "double 类型所占内存字节数为: " << sizeof(double) << endl;

	cout << "std::string类型所占内存字节数为: " << sizeof(std::string) << endl;

	return 0;


运行结果如下图所示:


所以对于博主当下的C++环境,结果就是:

  • char 类型所占内存字节数为: 1
  • short 类型所占内存字节数为: 2
  • int 类型所占内存字节数为: 4
  • long 类型所占内存字节数为: 4
  • long long 类型所占内存字节数为: 8
  • float 类型所占内存字节数为: 4
  • double 类型所占内存字节数为: 8
  • std::string类型所占内存字节数为: 28

以上是关于C++中常用变量在内存中所占的字节数分别是多少?(使用函数sizeof()实测一下不就知道了)的主要内容,如果未能解决你的问题,请参考以下文章

在c语言中,int,char,short三种类型数据在内存中所占的字节数由啥决定

C语言中计算数组长度的方法是啥

在C语言中,一个char数据在内存中所占字节数为,其数值范围为 ?

C语言中如何计算一个数组占内存多少空间?

java中的变量各占得字节数

C入门2数据类型