陣列可以當成指標的分身
[code language=”cpp”]
#include <iostream>
using namespace std;
int main(){
int a[5];
cout << "陣列名稱a " << a << endl;
cout << "陣列名稱a的位址 " << &a << endl; //陣列名稱a值跟位址相同
cout << endl;
for(int n=0;n<5;n++){ //第一個元素位址跟陣列名稱位址相同
cout << "a[" << n << "]的位址 " << &a[n] << endl;
}
}
[/code]
[code language=”cpp”]
#include <iostream>
using namespace std;
int main(){
int a[5]={5,10,15,20,25};
int* ptr=a; //宣告一個指標變數,並指向a陣列
cout << "a[0]=" << a[0] << " " << "*(a+0)=" << *(a+0) << endl;
cout << "a[1]=" << a[1] << " " << "*(a+1)=" << *(a+1) << endl;
cout << "a[2]=" << a[2] << " " << "*(a+2)=" << *(a+2) << endl;
cout << "a[3]=" << a[3] << " " << "*(a+3)=" << *(a+3) << endl;
cout << "a[4]=" << a[4] << " " << "*(a+4)=" << *(a+4) << endl;
}
[/code]
知道指標跟陣列的關係後
用一個範例展示如何用指標存取陣列元素
[code language=”cpp”]
#include <iostream>
using namespace std;
int main(){
int a[5]={5,10,15,20,25};
int* ptr=a; //宣告一個指標變數,並指向a陣列
int sum=0;
for(int n=0;n<5;n++){
sum=sum+*(ptr+n);
}
cout << "sum=" << sum <<span style="display: inline-block; width: 0px; overflow: hidden; line-height: 0;" data-mce-type="bookmark" class="mce_SELRES_start"></span>< endl;
}
[/code]