如何将0xFF存储到C中的char?

Nod*_*aju 3 c arrays int hex gcc

声明数组后,如何存储以下格式的内容:“ 0xff”到char数组。我将在下面说明我的意思。

当编写这样的代码时,可以正常工作:

 int main (void){
       unsigned char array[] = {0xff,0xa4};
       return 0;
 }
Run Code Online (Sandbox Code Playgroud)

但是,我需要稍微复杂一点。在声明完数组后,我需要给它分配诸如0xff之类的东西。我如何才能使其工作并获得与上述代码完全相同的结果?使用下面的代码,我不断收到错误“ multi-character character constant [-Wmultichar]”和“ large integer implicitly truncated to unsigned type [-Woverflow]”。

int main(void){
      unsigned char array[2];
      array[0] = '0xff';
      array[1] = '0xa4';
      return 0;
}
Run Code Online (Sandbox Code Playgroud)

Yun*_*sch 5

使用array[0] = '\xff';一个单一的字符集为十六进制数值。
或者 array[0] = 0xff;像您在代码的第一部分中所做的那样成功。