本菜鸟用C写的单片机程序,定义了一个结构体,成员包含指向函数的指针。结果在程序运行前,忘记初始化这个指针了,而且程序中使用了该指针,即通过它来运行某个函数。最后的结果是系统不断被看门狗复位,应该是程序跑飞了。
我们知道,没有初始化的指针是一个野指针,而这个值被赋给PC后,程序就会跳到未知的地方。
请问:
1.请简要分析下这种情况所造成的后果;
2.请问PC是否会指向数据区而不是代码区,如果会指向数据区,则结果会如何
3.如果该指向函数的指针初始化时被赋值为NULL,而最后仍然会调用它来试图运行一个函数,这样会产生什么样的结果? |