Теоретически, существует самый большой возможный буфер, который вы можете выделить в 64-битной системе: 2 64 , что намного больше, чем ваш массив 2000x1000x20. Он также намного больше, чем вся память, которую вы можете обрабатывать на компьютере.
В 32-битной системе обычно 2 ГБ. (Некоторые системы допускают 3 или 4 ГБ.) Это 2,1 * 10 9 байт. sizeof(float)
составляет 4 байта. Давайте посмотрим, у вас есть:
2000 *1000* 20 = 4 * 10 7
Умножая это на размер поплавка:
4 * 10 7 * 4 = 1,6 * 10 8
Несмотря на то, что 1,6 * 10 8 - довольно внушительное число, вы можете даже выделить столько памяти в 32-битной системе.
Я бы об этом не беспокоился.