空间限制xxMB

一般题目中不会卡空间,但是还是需要会计算。

首先看一下,各种数据类型的长度。

K&RThe C Programming Language中写道:char占用一个字节,int通常代表特定机器中整数的自然长度。short类型通常为16位,long类型通常为32位,int类型可以为16位或32位。各编译器可以根据硬件特性自主选择合适的类型长度,但要遵循以下限制:short与int类型至少为16位,而long类型至少为32位,并且short类型不得长于int类型,int类型不得长于long类型

在我电脑(win10,64位)中实测各种数据类型的长度如下:

在这里插入图片描述
在这里插入图片描述

一般题目中的空间限制为64MB,假设都用来开int数组:

一个int为4个Byte,1MB为1024*1024个Byte,所以64MB最多可以开16777216个int( 1.67 1 0 7 1.67 * 10^7 个int)。但是y总说过,操作系统会为我们做优化,只有真正用到时才会开这么大,emmmmm~😅等我学的更深入了再看一下吧。

参考文献:

The C Programming Language