1.c堆由程序员自己分配销毁,无论是创建还是不销毁都一直存在,但堆栈由系统自己分配
2 .由于堆栈是不连续的区域,所以空间大,而堆栈是连续的存储区域,所以空间小
3 .碎片整理问题:对于堆,频繁的新/删除会导致大量内存碎片整理,从而降低程序效率。 堆栈为先进后出(first-in-last-out )结构,出入一一对应,不会碎片化。
4.c默认变量无论是字符串、数组还是指针都在堆栈中。 (这与java不同,java将对象的数据放在堆栈中,对象的引用放在堆栈中。 因为字符串和数组都是对象,所以他们放在堆栈中,在堆栈中放入他们的引用。 ) ) ) )
5.c和c的指针是一样的。