虽然指针本身是一个很简单的概念,但因为指针指向处的数据实质是可以有很多种类的,这是C语言灵活性的突出表现,但也因为这样的灵活带来了很大的不可预知、不可控性,还不好判断。
比如一个 预想 指针对应地址 应该存储回调函数入口地址,实际却是一个无效地址,这不好判断,如果按函数入口去处理,就会出错。
所以处理指针要十分谨慎,防止各种出错可能(C语言自身语法特性上没有相应的处理,也没有好的工具进行协助,完全靠人工好的编程习惯来保障,这就是难点)
指针确实是比较难的。是由于指针的逻辑比较复杂,是直接操作地址的,可读性比较差。
C还是低层的语言,很多逻辑都是单步实现的