C++ Arrays and Pointers: Why Is the Array Name a Pointer?

数组在C++中是一块连续的内存空间,用来存储同类型的多个元素。比如int a[5]就是一个存储5个整数变量的数组。而指针则像是一个指向特定内存地址的“路标”,它可以记录某个变量或数组元素的位置。

数组名代表什么地址?

当我们定义一个数组时,系统会在内存中分配一块连续的空间。例如:
int a[5] = {5, 15, 25, 35, 45};

数组中的每个元素都有自己的地址,假设数组首元素a[0]的地址是0x7ffeefbff500,那么a[1]的地址就是0x7ffeefbff504 (因为int占内存空间通常是4字节),依此类推。

关键点:数组名a本身就代表了数组首元素的地址!换句话说,a的值就是`&a[

Xiaoye