数组开在堆里和开在栈里的区别

1.开在栈里的数组(int a[n];)在出栈也就是函数结束时会释放掉,所以如果函数想返回一个数组的话,不能返回函数里面的数组的首地址,但是开在堆里(int *a=new int[n];)就可以。

2.栈空间有限,递归的时候注意层数不能太深,在函数里的数组不能太大。

posted @ 2016-08-01 21:14  绵绵思远道  阅读(1090)  评论(0编辑  收藏  举报