int a[]={1,2,3,4};
a;//數組的標識符名稱
&a[1];
a+1//注意這裡的表示就是將a數組的起始地址向後進一位,移動到第二個元素的地址上也就是a[0]到a[1]的過程!
數組名稱和指針的關系其實很簡單,其實數組名稱代表的是數組的第一個元素的內存地址,這和指針的道理是相似的!
下面我們來看一個完整的例子,利用指針來實現對數組元素的循環遍歷訪問!
//程序作者:管寧
//站點:www.cndev-lab.com
//所有稿件均有版權,如要轉載,請務必著名出處和作者
#include <iostream>
using namespace std;
void main(void)
{
int a[2]={1,2};
int *pb=a; //定義指針*pb的地址為數組a的開始地址
int *pe=a+2; //定義指針*pb的地址為數組a的結束地址
cout << a << "|" << a[0] << "|" << *(a+1) << "|" << pb << "|" << *pb <<endl;
while (pb!=pe) //利用地址進行邏輯判斷是否到達數組的結束地址
{
cout << *pb << endl;
pb++; //利用遞增操作在循環中將pb的內存地址不斷向後遞增
}
cin.get();
}