C++中數組和指針類型的關係(C++入門)

對於數組和多維數組的內容這裏就不再討論了,前面的教程有過說明,這裏主要講述的數組和指針類型的關係,通過對他們之間關係的瞭解可以更加深入的掌握數組和指針特性的知識!

  一個整數類型數組如下進行定義:

int a[]={1,2,3,4}; 
//如果簡單寫成:
a;//數組的標識符名稱

 

  這將代表的是數組第一個元素的內存地址,a;就相當於&a[0],它的類型是數組元素類型的指針,在這個例子中它的類型就是int*

  如果我們想訪問第二個元素的地址我們可以寫成如下的兩種方式:

&a[1];

a+1//注意這裏的表示就是將a數組的起始地址向後進一位,移動到第二個元素的地址上也就是a[0]到a[1]的過程!

   數組名稱和指針的關係其實很簡單,其實數組名稱代表的是數組的第一個元素的內存地址,這和指針的道理是相似的!

  下面我們來看一個完整的例子,利用指針來實現對數組元素的循環遍歷訪問!

#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();  
}  

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章