我是C语言的初学者。我具有以下结构
typedef struct
{
zuint8 u8ZCLVersion;
#ifdef CLD_BAS_ATTR_LOCATION_DESCRIPTION
tsZCL_CharacterString sLocationDescription;
uint8 au8LocationDescription[16];
#endif
#ifdef CLD_BAS_ATTR_PHYSICAL_ENVIRONMENT
zenum8 u8PhysicalEnvironment;
#endif
#ifdef CLD_BAS_ATTR_DEVICE_ENABLED
zbool bDeviceEnabled;
#endif
} tsCLD_Basic;
现在我想设置au8LocationDescription [16]字段。我正在使用这段代码。
tsCLD_Basic sCombined;
sCombined.au8LocationDescription[16] = {0x42,0x65,0x64,0x20,0x52,0x6f,0x6f,0x6d};
但它显示错误
错误:“ {”令牌之前的预期表达式
我怎么能写值.. ???
最佳答案
正如Als的评论所言,您试图做的事情是不可能的。您将需要像这样单独分配每个数组元素
sCombined.au8LocationDescription[0] = 0x42;
sCombined.au8LocationDescription[1] = 0x65;
...
以此类推,直到每个元素都具有所需的值。