c语言数组,数组名,内存

求对c语言数组名和数组元素更加深入的理解,老师要我上去讲,求帮忙

数组在内存中连续排列,数组名代表数组的地址,也是数组首元素的地址。
数组第二个元素的地址是数组地址+sizeof(元素类型),以此类推。
数组其实是一种语法糖,看下面的代码
int a[] = { 1, 2, 3 };
cout << 2[a]; //输出3
也许你觉得很奇怪,还能这么写?
那是因为其实2[a]就是2 + a,而a[2]就是a + 2。所以满足交换律。
二维数组其实也是一种语法糖,编译器会自动将两重下标相乘,这样其实二维数组可以看作是一维数组。

数组名是const型指针,指向数组的开始地址。数组元素是同类型的,根据下标取得不同的元素。数组的存储内存是连续的。