#include<iostream>
using namespace std;
int main()
{
int arr[128];
arr['a'] = 101;
cout<<arr['a'];
return 0;
}
Run Code Online (Sandbox Code Playgroud)
所以我进行了实验,发现字符可以用作数组中的索引,而不是传统的整数。该程序给出了正确的输出,即正确的 101。
但这一切是如何运作的?就像在空间分配和对该元素的引用方面一样。
问题:
'a'是一种char具有实现定义的数值的类型(取决于您的平台上使用的字符编码:在 ASCII 中,它是 97)。
该数字char用于评估arr['a']. 如果你幸运的话,这会给你一个arr. 如果值超出范围,arr则程序的行为未定义。