找遍在许多论坛,但是还没有找到答案,我的问题:“ X01” [0]为什么在字符串的结尾出现[0]
我试图理解我的3D打印机(马林固件)和我里面的软件发现这个C++代码:
#define LCD_STR_BEDTEMP "\x00"
#define LCD_STR_DEGREE "\x01"
#define LCD_STR_THERMOMETER "\x02"
#define LCD_STR_UPLEVEL "\x03"
#define LCD_STR_REFRESH "\x04"
#define LCD_STR_FOLDER "\x05"
#define LCD_STR_FEEDRATE "\x06"
#define LCD_STR_CLOCK "\x07"
#define LCD_STR_ARROW_RIGHT "\x7E" /* from the default character set */
lcd.createChar(LCD_STR_BEDTEMP[0], bedTemp);
lcd.createChar(LCD_STR_DEGREE[0], degree);
lcd.createChar(LCD_STR_THERMOMETER[0], thermometer);
lcd.createChar(LCD_STR_UPLEVEL[0], uplevel);
lcd.createChar(LCD_STR_REFRESH[0], refresh);
lcd.createChar(LCD_STR_FOLDER[0], folder);
lcd.createChar(LCD_STR_FEEDRATE[0], feedrate);
lcd.createChar(LCD_STR_CLOCK[0], clock);
lcd.createChar
是,我有没有问题,但我不明白的部分是为什么所有的#define
字符串的结束Arduino的命令与[0]?
感谢您的任何帮助。
'[0]'是一个数组索引方法,意思是取第一个字符。 – MrHug
看起来像使用特殊字符的迂回路线。所有的字符串都包含1个字符。 '[0]'获得该字符串的第一个字符。为什么它以这样的方式完成 - 没有更多背景就无法分辨。 –
抱歉,但我不明白最后一部分。 这个程序非常复杂,很多人编写不同的部分,所以在所有的程序都是现在的规范,以避免** IDE **编译期间的错误 无论如何,你回答我的问题,谢谢 P.S. 程序需要许多不必要的澄清以确保编译正确 –