Why are Arrays reference types? : <pre><code>int[] age=new int[5];
</code></pre>

<p>After reading many posts and blogs ,I am still not clear about the fact why arrays are reference types.I know this question is like very old and have been asked plenty times but still couldnt find direct answer.</p>

<p><strong>Known things</strong> :Since Arrays are allocated on heap,hence they are  reference types .</p>

<p><strong>Need to know</strong>:Whats the reason behind making(compiler) arrays as reference types?.
Suppose age[0]=5,age[1]=25 ,what is the difficulty in assigning these on stack or make reference  to heap if their type was object.why consider heap as accessing time is slow comparatively?.</p>

<p>Why heap ,why not on stack like for structures?.</p>
