程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> C++入門知識 >> C/C++中數組和指針類型的關系的入門教程

C/C++中數組和指針類型的關系的入門教程

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


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


int a[]={1,2,3,4};



如果簡單寫成


a;//數組的標識符名稱



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

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



&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();
}
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved