c - 如何使用 sizeof 将数组的大小作为另一个参数传递
问题描述
我有以下功能:
addToTxBuffer((uint8_t []){0x01,0x11}, 2, zeroPad);
第二个参数2
是第size
一个参数。我想使用sizeof
而不是2
. 是否有任何语法使它成为可能?IE :
addToTxBuffer((uint8_t header[]){0x01,0x11}, sizeof(header), zeroPad);
但这不起作用。
解决方案
复合文字是未命名的,因此您不能以这种方式引用它们。您需要单独定义数组,然后您可以获得它的大小:
uint8_t header[] = {0x01,0x11};
addToTxBuffer(header, sizeof(header), zeroPad);
推荐阅读
- apache-kafka - Kafka GlobalStateStore 可以从不同的处理器拓扑访问吗?
- python - 在对 YouTube 频道进行网页抓取期间,循环未完成,无法提取频道中所有视频的数据
- python - 如何在 DRF 中使用 api 在 python 中进行身份验证
- python - 与断言在同一行上的 Pytest 条件语句不起作用
- reactjs - 何时将回调传递给 useState 设置器实际上会有所作为?
- angular - 离子:在模板中的对象上运行循环的生产构建失败
- flutter - 元素类型 Color 不能分配给列表类型 Color
- javascript - firebase:emulators:Start :术语“firebase:emulators:Start”未被识别为 cmdlet、函数、脚本文件或可运行程序的名称
- html - 无法删除我网站上的多余空白
- python - `df.corr()` 中出现的 NaN 值