在杭州一段时间面过几家公司,对于所涉及到的题目进行了汇总。主要有以下几个问题。
一、野指针
1、什么是野指针
野指针是指指针指向的位置是不可知的,指针变量定义时未初始化。
2、野指针产生原因
1)、指针定义时未初始化,其值是随机的,意味着指向一个地址是一个不确定的变量
2)、指针被释放时,没有被置空,free()或delete();
3)指针操作超越变量作用域,不要返回指向栈内存的指针或引用,因为栈函数结束会被释放。
3、野指针产生危害
1)、指向不可访问的地址,会触发段错误。
2)、掩盖程序上的错误。
3)、程序崩溃或者数据损坏。
二、单链表和双链表的区别
单链表:只有一个指向下一结点的指针,也就是next。
双链表:除了有一个指向下一结点的指针,还有一个指向前一结点的指针。
三、STM32编译之后、code、RO-data、RW-data、ZL-data分别代表什么意思
code :代码域
RO-data:只读数据域
RW-data:可读写数据