打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
结构体指针赋值--ads编译器语法限制很死

struct nuc900_txbd {
unsigned int Mode;
unsigned int Buffer;
unsigned int TxStateCount;
unsigned int Next;
};
struct tran_pdesc {
struct nuc900_txbd desclist[TX_DESC_SIZE];
unsigned char tran_buf[TX_DESC_SIZE][MAX_TBUFF_SZ];
};

struct tran_pdesc tdesc;后:
如:unsigned char *buffer = tdesc.tran_buf[cur_tx];没错,而 unsigned char *buffer  = &tdesc.tran_buf[cur_tx];就有错!
提示: 
 原因:因为 tdesc.tran_buf表示二维数组的地址,而buffer表示一维的地址,而tdesc.tran_buf[cur_tx]正好表示一维的地址;或者可以写成:
buffer  = &tdesc.tran_buf[cur_tx][0];编译也没错!
正确写法总结:
unsigned char *buffer  = &tdesc.tran_buf[cur_tx][0];
unsigned char *buffer  = tdesc.tran_buf[cur_tx];
unsigned char *buffer  = *tdesc.tran_buf;
struct nuc900_txbd *txbd = &tdesc.desclist[cur_tx];
*txbd = tdesc.desclist[cur_tx];


本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
C 工具库5:first fit pool
走读printk代码
C语言环形缓冲fifo实现
用v4l2和framebuffer实现usb摄像头视频采集并显示
C语言封装disruptor
数据的加密传输——单片机上实现TEA加密解密算法
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服