【日更计划037】数字IC基础题 上期答案 本期题目

[071] 堆和栈的区别是什么?

栈是内存的一块特殊区域,用于存储由函数创建的临时变量。每次函数声明一个新的自动变量时,它将被压入栈,并且每次函数退出时,会删除压入栈的所有变量。所有局部变量都使用栈进行存储,并且时自动管理的,也有大小限制。如果栈的空间不足,则会出现栈溢出错误。

堆则是需要管理的内存区域,程序员需要分配和释放内存,某些语言中是自动完成的。堆通常用于存储静态变量和对象。与栈相比,堆略慢,并且是通过指针应用的,并且可以在任何位置应用堆的变量。堆的大小也是可以更改的,当可用内存是不连续的块时,堆可能会出现碎片问题。

[072] a++和++a的区别是?

++a首先“a”自增,然后返回引用“a”的值。 因此,如果将“++ a”分配给变量,则将使用递增值“a”。

a++首先返回值“a”(当前值为“a”),然后“a”自增。因此,如果将“a ++”分配给变量,则将在分配中使用旧值“a”。

你答对了吗

本期题目

[073] 什么是内存泄漏?

[074] 编译器和解释器的区别是什么?

欢迎在留言区给出你的答案,正确答案将在下一期公布,或者到下面的文章获取答案

面试攻略