今天突然想到了空指针,所以就查了些材料。下面是相关的理解,如果有误请指正。
1、如果想把一个指针变为空指针,可以将给指针赋0,为了测试一个指针是否为空,也可以与0进行比较。
2、空指针的值之所以选择0,是源代码的规定。
3、NULL的 实际值会随着机器的变化而有所不同,但是不用担心 ,编译器给我们做了保护措施,它负责机器内部的值与0之间的转换。
4、在实际编程过程中,对NULL的错误访问会因编译器的不同产生不同的后果,有些机器允许访问内存位置0,而且允许修改该内存位置,这种 后果是非常严重的,有些机器则是做了 保护措施,当对空指针访问时,会报异常,并终止程序的执行。
5、在我们创建指针变量时,如果不显示的初始化指针变量,他是不会被初始化的,因此为了保证指针使用 的安全,我们在创建指针变量时需要对其进行初始化(知道指针地址时初始化为 相应的地址,如果指针没有指向任何 地址,则 初始化为NULL),而且在对指针进行解引用的时候需要对指针是否为空进行判定。