首页 > 编程语言 >c++数组最大长度(干货)

c++数组最大长度(干货)

时间:2023-11-09 12:55:26浏览次数:40  
标签:int c++ 干货 long 数组 类型 长度 268349215

        在编译器里,每种类型的变量定义数组的时候都有一个数组大小,而这个大小对于不同的变量而言有不同的上限,这里的最大长度更准确的来说应该是系统堆的最大值。

字符类型数组

一个字符占1byte大小,八位,所以,理论上,在一个64位的编译器中,一个字符数组的最大长度是2147483648,但之际上,经过我的手敲,能开的最大长度是2146793727

char s[2146793727];

字符串类型数组

字符串类型数组就像是二维的字符类型数组,本人亲测,一个字符串能存储4049个字符(多了会卡死),但字符串类型的数组最大长度为268349215有点离谱

string b[268349215];

int 类型数组

一个int类型的变量占4个字节,是字符的四倍,所以int类型数组的最大长度大概是字符类型的四分之一,为536698431

int a[536698431];

long long类型数组

一个long long类型的变量占8个字节,所以longlong类型数组的最大长度大概是268349215

long long c[268349215];

浮点数

float和double类型的变量就像是int和longlong,而数组最大长度也分别和int和longlong相同

为536698431和268349215

float e[536698431];
double f[268349215];

布尔类型

布尔类型的变量也只占一个字节,所以数组最大长度和char一样为2146793727

bool d[2146793727];

总结

以上总结的各类型数组最大长度仅为最大能编译的长度,可能会因编译器的不同而不同,同时,一个程序里只能开一个这么大的数组,虽然能成功编译,

​编辑

 但不能运行

标签:int,c++,干货,long,数组,类型,长度,268349215
From: https://www.cnblogs.com/UncleSamDied6/p/17819481.html

相关文章

  • C语言程序设计 数组,结构体和指针练习题
    涉及知识点:数组,结构体和指针分析以下程序的运行结果:#include"stdio.h"structsp{inta;int*b;}*p;intd[3]={10,20,30};structspt[3]={70,&d[0],80,&d[1],90,&d[2]};voidmain(){p=t;printf(&......
  • 记录一次C++内存泄露的检测过程
    线上游戏长时间运行后,占用内存比以前大很多,发现游戏对象也得变多很多.主程尝试从最近改动过的代码检测,做了小改动,更新上线,内存还是不断增加.我提出用服务端根据聊天做个GM命令,输出当前对象个数信息到日记.更新上线,手动输入gm命令,比较几次日记,方现对象是变多,......
  • js:遍历数组
    1.循环类型forEach()forEach();语法forEach(callbackFn)forEach(callbackFn,thisArg)例子/****@param{any}element数组中正在处理的当前元素*@param{number}index数组中正在处理的当前元素的索引。*@param{Array}array1调用了forEach()的数组本身*/co......
  • NTC 10K 3380 阻值对照表的数组
    因网上没有NTC10K3380的阻值温度对照数组,所以分享各种格式,以供使用直接根据阻值对照表的数组data=[202.2693,191.0637,180.5546,170.6944,161.4387,152.7468,144.5807,136.9052,129.6879,122.8985,116.5089,110.4932,104.8272,99.4883,94.4558,89.7101,85......
  • 【从零开始学习Go语言】八.Go语言的数组切片引用类型与值类型(总结)
    【从零开始学习Go语言】Go语言的数组与切片引用类型与值类型一.数组二.多维数组三.切片四.值类型与引用类型一.数组go语言的数组在之前的一些例子中有引用过,go的数组在创建时需要声明存储数据的类型,长度,并且长度在确定后便不可增加,类似python中的元组数组的声明方式有多种:第一种......
  • CMake多个CMakeLists.txt共同合作编译一个C++项目
    一、概述在C++项目比较大或者要根据不同的规则生成不同的执行文件或者动态库/静态库的时候。单独的CMakeLists.txt会变的比较复杂,此时可以利用CMakeLists.txt的父子关系分目录分模块的进行编译及输出。就相当于项目模块化编译参考博客:【大丙课堂】二、具体实现......
  • form表单 数组中对象校验 深度校验
    <el-formref="dataFormRef":model="form":rules="dataRules"formDialogReflabel-width="100px"v-loading="loading"> <el-form-itemlabel="负责人"prop="directorName"> <el-......
  • C++跨DLL内存所有权问题探幽(一)DLL提供的全局单例模式
    最近在开发的时候,特别是遇到关于跨DLL申请对象、指针、内存等问题的时候遇到了这么一个问题。问题跨DLL能不能调用到DLL中提供的单例?问题比较简单,就是我现在有一个进程A,有DLLBDLLC,这两个DLL都依赖DLLD的单例,这个时候如果A调用了DLLB和DLLC,那么B和C能否正确引用到这个指......
  • 关于C++链接的一些理解
    无论是.h还是.cpp,都可以写声明或者实体,而且.h和.cpp的前面的名字相同不相同没有任何的影响最终一系列要连接的程序中,必须有且只有一个源文件有main函数,然后从这个main函数开始运行include的作用其实是跟define一样的,是纯文本替换进行替换之后,如果替换的内容是实体,那么就可以直......
  • # yyds干货盘点 # 盘点一个Excel表格数据筛选的问题(中篇)
    大家好,我是皮皮。一、前言前几天有粉丝问我Excel数据筛选的问题,原始数据如下图所示,其实一开始的总学时是字符串格式,我直接在wps里边进行了批量转换为数据操作,下面一起来看看需求吧。粉丝的需求是根据原始表格,然后填充下表:二、实现过程这里其实使用Excel就可以实现,这里介绍两个方法,......