我写了这个简单的脚本来理解什么是引用,但我卡在了字符数组上。
int numbers[5] = {3, 6, 9, 12, 15};
for (int i = 0; i < 5; i++)
{
cout << numbers[i] << endl;
cout << &numbers[i] << endl;
}
cout << "--------------" << endl;
char letters[5] = {'a', 'b', 'c', 'd', 'e'};
for (int i = 0; i < 5; i++)
{
cout << letters[i] << endl;
cout << &letters[i] << endl;
}
这是输出结果:
3
0xbffff958
6
0xbffff95c
9
0xbffff960
12
0xbffff964
15
0xbffff968
--------------
a
abcde
b
bcde
c
cde
d
de
e
使用int
数组时,当我使用&numbers[i]
时,我会收到一个奇怪的数字,它是一个内存位置。这没关系;这正是我理解的。
但是对于char
,我不明白为什么会有这样的输出。