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.
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.
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.
array is a derived data type which is used to store
different data items of same data type and same purpose
with a common name
array gives static memory allocation it means
the size of array can not be changed during programe
execution .
array index always starts from zero andends at (n-1) if
the array size is n.
Dude in C memory management we have for segments namely
data code heap and stack. any local variable resides in
stack. Hence array should be less than size of stack. Please
refer memory models in C to find stack size. similar is true
for global array. That will reside in data segment.
class professor {};
class teacher : public virtual professor {};
class researcher : public virtual professor {};
class myprofessor : public teacher, public researcher {};
Referring to the sample code above, if an object of class
"myprofessor" were created, how many instances of professor
will it contain?
a) 0
b) 1
c) 2
d) 3
e) 4
catch(exception &e)
{
. . .
}
Referring to the sample code above, which one of the
following lines of code produces a written description of
the type of exception that "e" refers to?
a) cout << e.type();
b) cout << e.name();
c) cout << typeid(e).name();
d) cout << e.what();
e) cout << e;