用户名: 密码: 免费注册 忘记密码? 网站地图 | 加入收藏 | 设为首页
首页 | 新闻 | 工具 | 系统 | 办公 | 聊天 | 多媒体 | 网页 | 运营 | 平面 | 欣赏 | 数据库 | 程序 | 服务器 | 组网
网页 | 3dmax | Ghost | Windows Xp| Dreamweaver | photoshop | Flash | office | Alexa | Css | QQ | Asp | PHP | Jsp | Access
Flash MX 2004入门 | 网站推广策略 | CorelDRAW入门 | ASP学习 | 网站建设大师功 | Word入门
  iTbulo.com > 学院 > 正文
C/C++中数组和指针类型的关系的入门教程
iTbulo.COM 2006-4-5 管宁()
对于数组和多维数组的内容这里就不再讨论了,前面的教程有过说明,这里主要讲述的数组和指针类型的关系,通过对他们之间关系的了解可以更加深入的掌握数组和指针特性的知识!


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


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();
}
文章搜索
相关资讯
相关文章 相关下载
C与C++中标准输入实现方式上的一点区别
将成员函数指针强制转换成void*指针
C与C++中标准输入实现方式上的一点区别
为C++标准库容器写自己的内存分配程序
缓冲区溢出还是问题吗?C++/CLI安全编码
焦点信息