对结构使用指针-无法读取正确的地址

问题描述

我一直试图获得与我要在PIC上实现的结构一起使用的指针。我已经在Linux编译器上尝试过相同的代码,并且工作正常。我也尝试过将其剥离到基本内容,但无济于事。另外,我尝试了不使用指针的情况,并且可以正常工作。

这是我正在使用的代码

struct circular_buf{
    size_t tail;
    size_t head;
    size_t max;
};
    
struct circular_buf * cbuf;

并且在主要

cbuf = malloc(sizeof(struct circular_buf));

cbuf->tail = 22;
cbuf->head = 45;
cbuf->max =99;

当我打印出此纸时,它只能正确打印出最大的纸。但是,当我插入项目以将结构的最大值,尾部和头部分开时,效果很好。

struct circular_buf{
    size_t spacer1; // seperatating the items so it reads correctly 
    size_t tail;
    size_t spacer2; // seperatating the items so it reads correctly 
    size_t head;
    size_t spacer3; // seperatating the items so it reads correctly 
    size_t max;
};

这是为什么,如果不执行此操作,我有什么办法可以纠正此内存错误

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)