au8LocationDescription

au8LocationDescription

我是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;
    ...


以此类推,直到每个元素都具有所需的值。

10-01 18:53