微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

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

我一直试图获得与我要在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 举报,一经查实,本站将立刻删除。