What is the Maximum Size that an Array can hold?
Answers were Sorted based on User's Feedback
Answer / chandra
On Windows platform (32 bit) the max array size is FFFFFFFF.
so if you give int arr[0x3FFFFFFF]; it works in VC++.
and if you try arr[0x40000000]; it gives following error:
error C2148: total size of array must not exceed ffffffff
bytes
We came to this value(3FFF FFFF) by dividing FFFFFFFF (2
power 32) by 4 because each int is 4 byte. so for char
array this value will be full FFFF FFFF.
| Is This Answer Correct ? | 54 Yes | 7 No |
Answer / susheel gurjar
it is dapand upon compiler to complier
| Is This Answer Correct ? | 45 Yes | 35 No |
Answer / rajat paliwal
Actually it depends on which mode you are programming.
if ur workin in normal c complier i.e. in dos (16 bit)
then maximum size for
char-> 65535
int ->65535/2=32767
float->32767/2=16382
..
however if you are working in 32 bit operating enviroment
like in VC++
then the maximum size for char = 2 raisec to power 32..
like that..
| Is This Answer Correct ? | 14 Yes | 4 No |
Answer / reejusri
Maximum size has nothing to do with only the stack area,
but the area where the array is allocated from. The OP did
not say whether the array was created from dynamic memory
(a.k.a the heap), block or local memory (a.k.a. the stack),
or where automatic variables are declared.
The amount of memory available depends on:
1. The total memory on the platform.
2. The amount of memory allocated to the program.
3. The compiler's settings.
| Is This Answer Correct ? | 17 Yes | 9 No |
Answer / depak patel
it depand upon operating system to oprating system
| Is This Answer Correct ? | 37 Yes | 32 No |
Answer / adnan sheikh
max.size of array is 2^32
Because each process contains:
maximum numbers of segments per process=16KB
largest segment size= 4GB
defines in 32 bits
Types of segments are:
data segment
code segment
stack segment
heap segment and many more.
Hopefully we will satisfies with my answer.
| Is This Answer Correct ? | 6 Yes | 3 No |
Answer / prasant
It depends on the stack size. If the compiler option is
chosen as default then the default stack size is 1MB and an
array can be allocated upto 1MB size. If the array size
exceeds this limit then the program will throw stack
overflow error.
| Is This Answer Correct ? | 16 Yes | 15 No |
Answer / sankalp bose
For arrays allocated on the stack, it depends upon the
maximum stack size. For example, for gcc, it is normally 64K
but may be something else. For arrays allocated dynamically
or arrays defined in global/static scope, this number is
different and depends upon the maximum heap area size and
the maximum data segment size respectively. The getrlimit
system call can be used to get all these values.
| Is This Answer Correct ? | 3 Yes | 2 No |
What is c++ in english?
Is java easier than c++?
Will rust take over c++?
Tell me an example where stacks are useful?
You have to take 2 arrays of length 10. Input the values of array 1 from the user. Then copy the values of array 1 to array 2 in ascending order For example if user enters 9, 5, 6, 8, 1, 0, 2, 7, 4, 3 then copy the smallest element i.e. 0 first followed by 1, 2 and so
How to avoid a class from instantiation?
difference between the c++ and c languages
What is the use of setprecision in c++?
What do you mean by vtable and vptr in c++?
How do you invoke a base member function from a derived class in which you have not overridden that function?
what are the iterator and generic algorithms.
What are the five basic elements of a c++ program?