好吧,我有如何将结构添加到C中的结构数组?
typedef struct
{
enum COMMAND command;
enum CMD_SOURCE source;
CHAR parameters[16];
} focuserCommand;
定义为这样的结构......我试图做出将这种类型的结构的一个实例添加到focuserCommands阵列功能。数组的定义是这样的...
extern focuserCommand CommandBuffer[CMD_BUFFER_SIZE];
我想写应该采取一个指向focuserCommand
并将其添加到CommandBuffer
功能。我正在实现CommandBuffer作为FIFO环形缓冲区,所以我知道我需要移动尾部forwared,以便其他函数可以看到缓冲区包含数据。 CmdBuffHead和CmdBuffTail表示缓冲区的读写指针。写入被添加到尾部,从头部读取。
void AddCmdToBfr(focuserCommand * cmd)
{
// What goes here to add the struct pointed to by cmd to
// element CmdBuffTail of the buffer?
CmdBuffTail++;
}
我试过这个,但我得到一个编译器错误`CommandBuffer [CmdBuffTail ++] = cmd;`说在赋值中不兼容的类型。是因为cmd是一个指向结构体的指针而不是结构本身? – PICyourBrain 2011-01-11 15:03:31