我正在寻找一种解决方案,以将数组与定义和变量中的值连接在一起。我已经尝试过像memcpy这样,但是不起作用:
#define ADDRESS {0x00, 0x00, 0x00, 0x00, 0x00, 0x45}
#define SIGNATURE {0xC6, 0x54, 0x2D}
uint8_t packetCounter = 0;
uint8_t RadioData[2]={'2','1'};
uint8_t Packet = sizeof(uint8_t);
memcpy(Packet, ADDRESS, sizeof(ADDRESS));
memcpy(Packet, SIGNATURE, sizeof(SIGNATURE));
memcpy(Packet, packetCounter, sizeof(packetCounter));
memcpy(Packet, data, sizeof(data));
这段代码的目标是创建一个具有以下值的数组:ADDRESS + SIGNATURE + packetCounter + data。而且,我还要在每个变量之间添加“ _”。
你有什么解决办法吗?
谢谢
最佳答案
尚不清楚您想要什么,但也许是这样的?
#include <stdint.h>
#define ADDRESS 0x00, 0x00, 0x00, 0x00, 0x00, 0x45
#define SIGNATURE 0xC6, 0x54, 0x2D
void Some_Function(void) {
uint8_t packetCounter = 0;
uint8_t RadioData[2]={'2','1'};
uint8_t Packet[] = {ADDRESS, SIGNATURE, packetCounter, RadioData[0], RadioData[1]};
}
关于c - 使用定义和变量连接数组-C语言,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/47230608/