Heap overflow and heap management in C
===

I know the forum has many questions about heap etc. but nothing helped me this much (except for the understanding of why it doesn't work).

I have a huge quantity of data and of course the heap can't follow. The data I need to store are only integers. Malloc starts returning null quite early.

4 arrays of size: (allocation by malloc)

- 875715
- 875715
- 875715
- 5105043 cells (but it's a 2D array)

Here are my questions:

1) To know the quantity of memory needed, is it:
875715 * 3 * 4 + 5105043 * 4 = 62454492 ? (because integer is 4)
Does it mean around 62 MB? (Sorry if it seems dumb)

2) How can we know the size of the heap available? Is there a way to increase it?

3) I have 3 arrays of the same size, is there an advantage of merging them into one 2D array?
For example, array[875715][3] instead of 3 different arrays (of course, by using malloc)

I use Window seven, 64 bit, 8GB of RAM.