提问人:Jamth 提问时间:10/12/2023 最后编辑:Vlad from MoscowJamth 更新时间:10/12/2023 访问量:65
为什么数组可以包含字符串的元素?
Why can an array encompass elements of strings?
问:
我不明白为什么以下数组中包含双引号;这不是字符串类型吗?
const uint8_t u8x8_font_8x13_1x2_n[436] U8X8_FONT_SECTION("u8x8_font_8x13_1x2_n") =
" :\1\2\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
"\0\0\0\0\0@P\340\340P@\0\0\0\1\0\0\1\0\0\0\0\0\300\0\0\0\0\0\1\1\7"
"\1\1\0\0\0\0\0\0\0\0\0\0\0 \30\30\10\0\0\0\0\0\0\0\0\0\0\0\0\1\1\1"
"\1\1\0\0\0\0\0\0\0\0\0\0\0\0\20\70\20\0\0\0\0\0\0\0\200@\60\0\30\4\2\1"
"\0\0\0\0\0\300 \20\20 \300\0\0\7\10\20\20\10\7\0\0@ \360\0\0\0\0\0\20\20\37"
"\20\20\0\0\0`\20\20\20\20\340\0\0\30\24\22\22\21\20\0\0\20\20\20\220P\60\0\0\10\20\21"
"\21\21\16\0\0\0\200@ \360\0\0\0\7\4\4\4\37\4\0\0\360\20\220\220\220\20\0\0\11\21\20"
"\20\20\17\0\0\300 \20\20\20\0\0\0\17\22\21\21\21\16\0\0\20\20\20\220P\60\0\0\0\30\6"
"\1\0\0\0\0\340\20\20\20\20\340\0\0\16\21\21\21\21\16\0\0\340\20\20\20\220\340\0\0\0\21\21"
"\21\10\7\0\0\0\200\300\200\0\0\0\0\0\20\71\20\0\0";
下面的示例表示我常用的数组声明格式。
int arr[10]={1,2,3,4,5,6,7,8,9,10};
答:
1赞
Vlad from Moscow
10/12/2023
#1
从 C 标准(5.1.1.2 转换阶段)
1 翻译语法规则的优先级由 以下阶段。
//...
- 相邻的字符串文字标记是串联的。
例如,这个声明
char s[] = "Hello World!";
相当于
char s[] = "Hello "
"World!";
将一个大字符串文本拆分为几个相邻的字符串文本使代码更具可读性。
评论
U8X8_FONT_SECTION
#ifndef U8X8_FONT_SECTION # define U8X8_FONT_SECTION(name)
char
"hello"
{'h','e','l','l','o',0}
int
uint8_t