如截图所示,请问我设置为类指针,为什么就出错。

2019-10-15 01:14发布

设置成 指针,仿真的时候就会跳进死循环,出现问题,不设置成指针就没问题。
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
13条回答
vention
1楼-- · 2019-10-15 23:58
来俩不甜的 发表于 2017-2-20 11:46
你屏蔽掉的方式就很好啊,为什么要用指针呢。这个定义你在别的地方还要用得到吗?用得到就改成全局变量

只因我想着传送方便,传递参数的时候直接直接用
来俩不甜的
2楼-- · 2019-10-16 04:57
vention 发表于 2017-2-20 11:51
只因我想着传送方便,传递参数的时候直接直接用

那指针要先分配内存空间,不能定义完了直接用。
vention
3楼-- · 2019-10-16 05:07
 精彩回答 2  元偷偷看……
vention
4楼-- · 2019-10-16 08:06
来俩不甜的 发表于 2017-2-20 11:54
那指针要先分配内存空间,不能定义完了直接用。

像这些,他也是直接用了,也没有说再开辟空间什么的。  还有HAL的那些头 ,也是直接用了void HAL_TIM_PeriodElapsedCallback(TIM_HandleTypeDef *htim){
         if (htim==&htim17)
   {       
                 usTimecnt++;
         }
}

d1z1y2
5楼-- · 2019-10-16 10:26
vention 发表于 2017-2-20 12:04
像这些,他也是直接用了,也没有说再开辟空间什么的。  还有HAL的那些头 ,也是直接用了void HAL_TIM_Per ...

1、指针定义了以后一定要有个指向,也就是要给这个指针赋值
u8 a;
u8 *p;
p = &a;//指针赋值
(*p)++;
2、函数的指针形参:该函数在被调用时,实参就会传进来,可以理解为这个指针被赋值了,所以是正确的
vention
6楼-- · 2019-10-16 13:16
d1z1y2 发表于 2017-2-20 12:32
1、指针定义了以后一定要有个指向,也就是要给这个指针赋值
u8 a;
u8 *p;

原来是这样子。明白了。 定义了指针 *p 后,就一定要 给指针p 赋上具体地址。
而作为函数形参的时候,函数被调用时候就给赋值了。是这个道理……

一周热门 更多>