一个指针加结构体的问题导致芯片不能运行

2019-07-14 18:28发布

简化描述:
我在程序中定义了如下类型的一个结构体:
typedef struct
{
      uint8_t*   Rxbuffer;
      uint8_t     timer;
}Hardle_typedef;
然后用Hardle_typedef去定义一个变量,结果芯片没现象,改成如下形式就没问题了:
typedef struct
{
      uint8_t     Timer;
      uint8_t*   Rxbuffer;
}Hardle_typedef;

请问大神们这是踩了C语言指针的陷阱了吗?请帮忙解释一下。
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
9条回答
zhouxk
1楼-- · 2019-07-15 23:09
你的两种定义,应该都是可以的。
关键不是定义出了问题,而是你用结构体的时候有问题。可是怎么用的,你又没有写。
苏州名之卓
2楼-- · 2019-07-16 02:38
同意楼上的看法,定义结构体中的指针,只要语法没有错误,编译通过,应该没有问题;问题在你怎么用的,也许变成了野指针,出问题了
he07413
3楼-- · 2019-07-16 06:14
你在别处使用了吗?正常定义是绝不会出问题的。指针变量也是个变量而已,没什么很特殊地方。

一周热门 更多>