一般题目中不会卡空间,但是还是需要会计算。
首先看一下,各种数据类型的长度。
在K&R的The 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 1.67∗107个int)。但是y总说过,操作系统会为我们做优化,只有真正用到时才会开这么大,emmmmm~😅等我学的更深入了再看一下吧。
参考文献: