以下代码是什么意思?

时间:2010-12-16 03:19:20

标签: c

有人能告诉我以下代码的含义是什么:

unsigned char  const *display_screen[] = {
    "\xfeXEPC Main Menu:\n\35System Status\n System Settings\n Access Control",    
    "\xfeXEPC Main Menu:\n System Status \n\35System Settings\n Access Control",
    "\xfeXEPC Main Menu:\n System Status \n System Settings\n\35Access Control",
    "\xfeXEPC Main Menu:\n\35Configuration\n Op.Programming\n Event Log  ",
    "\xfeXEPC Main Menu:\n Configuration\n\35Op.Programming\n Event Log  ",
    "\xfeXEPC Main Menu:\n Configuration\n Op.Programming\n\35Event Log  ",
    "\xfeXEPC Main Menu:\n\35History    ",
    "\xfeXEPC Main Menu:\n"};

谢谢。

2 个答案:

答案 0 :(得分:3)

代码无效。字符串文字的类型为char[N](其中N是每个字符串文字的长度)。这些可隐式转换为char*但不转换为unsigned char*。由于代码无效,因此没有任何意义。 : - )

如果display_screenconst char*[]而不是const unsigned char*[],则会将display_screen声明为const char*数组,数组中的指针指向初始化程序中列出的字符串文字。

答案 1 :(得分:0)

除了詹姆斯提到的签名问题外,这还定义了一个字符串数组。开头的"\xfe"转换为十六进制值0xfe"\35"转换为八进制035。这些值的解释取决于您的平台。