有人能告诉我以下代码的含义是什么:
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"};
谢谢。
答案 0 :(得分:3)
代码无效。字符串文字的类型为char[N]
(其中N
是每个字符串文字的长度)。这些可隐式转换为char*
但不转换为unsigned char*
。由于代码无效,因此没有任何意义。 : - )
如果display_screen
是const char*[]
而不是const unsigned char*[]
,则会将display_screen
声明为const char*
数组,数组中的指针指向初始化程序中列出的字符串文字。
答案 1 :(得分:0)
除了詹姆斯提到的签名问题外,这还定义了一个字符串数组。开头的"\xfe"
转换为十六进制值0xfe
,"\35"
转换为八进制035
。这些值的解释取决于您的平台。