C/C++中数组和指针类型的关系的入门教程

王朝c/c++·作者佚名  2008-06-01
窄屏简体版  字體: |||超大  

对于数组和多维数组的内容这里就不再讨论了,前面的教程有过说明,这里主要讲述的数组和指针类型的关系,通过对他们之间关系的了解可以更加深入的把握数组和指针特性的知识!

一个整数类型数组如下进行定义

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

}

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航