回忆一维数组ar[],数组名ar是指向数组首元素ar[0]的地址。
假设有如下二维数组
int zippo[4][2];//内含4个int数组的数组
数组名zippo是数组首元素zippo的地址。二维数组zippo的首元素是一个含有两个int元素的一维数组,所以zippo是这个内含两个int值的数组的地址。即zippo = &zippo[0]。而zippo[0]是个内含两个int值的数组,所以zippo[0]的值与它的首元素zippo[0][0]的地址相同。
简而言之,zippo[0]是一个占用一个int大小的对象的地址,zippo是一个占用两个int大小的对象的地址。由于他们开始于同一个地址,所以zippo与zippo[0]的值相同。
给指针或地址加1,其值会增加对应类型大小的数值。在这方面,zippo和zippo[0]不同,因为zippo指向的对象占用了两个int大小,而zippo[0]指向的对象只占用一个int大小。因此, zippo + 1和zippo[0] + 1的值不同。
解引用一个指针(在指针前使用*运算符)或在