C中char数组的异常初始值设定项
发布时间:2020-12-16 10:35:33 所属栏目:百科 来源:网络整理
导读:我有char数组的初始化器: static const char dtmf_positions[] = "123A-------" "456B-------" "789C-------" "*0#D-------" "----E------" "-----F-----" "------G----" "-------H---" "--------J--" "---------K-" "----------L"; 有人可以解释,如何通过
我有char数组的初始化器:
static const char dtmf_positions[] = "123A-------" "456B-------" "789C-------" "*0#D-------" "----E------" "-----F-----" "------G----" "-------H---" "--------J--" "---------K-" "----------L"; 有人可以解释,如何通过索引获得一些符号,例如符号’4′.谢谢. 好的,那我还有其他问题.有没有方便的方法通过上面的数组中的行和列索引访问数组元素,就像我们使用二维数组一样? 解决方法
从C99规范,5.1.1.2翻译阶段
您也可以在其他C规范中找到类似的文本. 所以 在翻译阶段,“abc”“def”将变为“abcdef”. 所以你的定义类似于: static const char dtmf_positions[] = "123A-------456B-------789C-------*0#D-----------E-----------F-----------G-----------H-----------J-----------K-----------L"; 我希望你现在可以找到任何符号的索引:) 编辑:您的其他问题: /* Col 012345678910 */ static const char dtmf_positions[] = "123A-------" /* Row 0 */ "456B-------" /* Row 1 */ "789C-------" /* Row 2 */ "*0#D-------" /* Row 3 */ "----E------" /* Row 4 */ "-----F-----" /* Row 5 */ "------G----" /* Row 6 */ "-------H---" /* Row 7 */ "--------J--" /* Row 8 */ "---------K-" /* Row 9 */ "----------L"; /* Row 10 */ #define NCOLS (sizeof("123A-------") - 1) #define FETCH_CHAR(ROW,COL) dtmf_positions[ROW * NCOLS + COL] 在此you can access之后任何带有FETCH_CHAR(R,C)的字符 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |