1. 变量的分类:html
类成员变量,全局变量,局部变量, 参数变量,静态变量等;linux
不一样类型的变量的大小容量有限。windows
2. 变量大小容量: 数组
容量大小从小到大:缓存
栈≤全局数据≤堆≤文件≤硬盘≤磁盘阵列≤云存储
函数
当程序须要使用好比2GB~1TB左右的存储时,最简单的办法恐怕得是用文件读写模拟内存读写了吧。windows参考_fseeki64函数,linux参考fseeko64函数。post
由于你不管怎么开全局数组,栈的大小是被编译器限制了的,因此最好仍是用new去使用堆内存生成动态数组。url
变量选择内存位置须要注意:栈大小<全局变量<堆(malloc/free, new/delete)
另外,若是要计算中文出现的频率,须要每一个中文都先读到内存里吗?我的的建议是每次读出一个加入申请的缓存里,若读到已经在缓存里存在的不须要在放到缓存里而是直接让计数加1便可,这样若是中文词出现的频率较大时,能够减小不少的缓存,这样也不须要申请太大的缓存,能够在堆上申请空间,由于能够动态申请。保证内存不浪费。htm