奇数c++字符数组参考
Odd C++ Character Array Reference
我继承了下面的代码,想知道更多关于使用索引的信息。
...
char cpChMap[256];
memset(cpChMap, 0xff, 256);
for (i = 0; i < 10; i++)
cpChMap['0' + i] = 0;
...
我从来没有见过一个char用于索引和数组之前[cpChMap[<character expression>]
],有人可以解释这是如何工作的或提供一个明确的参考,因为我似乎找不到一个体面的参考,我已经搜索了一段时间。
感谢您的宝贵时间。
char
为整型。它们可用于算术表达式:
std::cout << '0' + 7 << std::endl;
'0'
到'9'
连续的事实意味着'0' + 7
与'7'
具有相同的值,这就是为什么在循环中:
for (i = 0; i < 10; i++)
cpChMap['0' + i] = 0;
cpChMap
使用索引'0'
(与48
相同,假设是ASCII)到'9'
。
char也是int8类型。(8位整数= 1字节)
每个字符都等于它的ASCII值。
这不是回答问题,但我不明白为什么他们不这样做:
char cpChMap[256];
memset(cpChMap, 0xff, 256);
memset(&cpChMap['0'], 0, 10);
相关文章:
- Mongodb c++驱动程序:如何查询元素的数组
- 将数组的地址分配给变量并删除
- 从C++本机插件更新Vector3数组
- 通过参考变差函数传递N-D数组
- 函数参数绑定通过参考与传递指针传递数组的规则
- 为什么该函数不会获得动态数组?(我正在使用指针和参考)
- 在数组的迭代中使用参考
- Cython:从参考获得时缺少两个前元素的 Numpy 数组
- C 使用每个元素参考初始化数组
- 声明模板会员参考另一个类的模板成员数组
- C 通过参考分配 /数组传递内存
- 通过参考数组传递分配的堆栈参数
- 如何使用数组和参考参数调用void函数
- 传递数组的一种病理方式:参考第一个元素
- 在不使用指针的情况下将数组作为C 中的参考传递
- C 数组并未通过参考通过
- 数组[]运算符返回参考,因此如何更改其值
- 使用c 中的static_cast施放数组参考的指针是合法的吗?
- C++数组衰减不会发生以供参考,为什么?
- 奇数c++字符数组参考