
C/C++中数组和指针类型的关系的入门教程
发布时间:2006-05-05 19:01:30 来源:网易学院 网友评论 0 条
对于数组和多维数组的内容这里就不再讨论了,前面的教程有过说明,这里主要讲述的数组和指针类型的关系,通过对他们之间关系的了解可以更加深入的掌握数组和指针特性的知识!
一个整数类型数组如下进行定义
如果简单写成
这将代表的是数组第一个元素的内存地址,a;就相当于&a[0],它的类型是数组元素类型的指针,在这个例子中它的类型就是int*
如果我们想访问第二个元素的地址我们可以写成如下的两种方式!
一个整数类型数组如下进行定义
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++箴言:为类型信息使用特征类
- 深入理解sizeof
- VC中ftp协议实现多线程断点续传
- COM组件设计与应用之实现多接口
- C/C++中枚举类型(enum)的入门教程
- VC++下借助DBGird控件显示数据库记录
- VC中借助DirectDraw实现水波的模拟
- 采用c/c++编程实现盗取2005 Beta2.0版QQ
- 菜鸟也能搞定C++内存泄漏
- 用VC++6.0的Sockets API实现一个聊天室程序
阅读排行
- 1.Borland 发布C++ Builder 2006 RAD 环境
- 2.C/C++程序员应聘常见面试题深入剖析
- 3.Visual C++常用数据类型转换详解
- 4.C++中的 static 关键字
- 5.利用VC++实现局域网实时视频传输
- 6.浅谈C/C++内存泄漏及其检测工具
- 7.英国投票否决C++/CLI 微软强攻ISO标准受挫
- 8.VC++下用MSComm控件实现串口通讯
- 9.伪随机数生成及在VC++中的实现
- 10.VC++编程实现对波形数据的频谱分析
专题教程
- 大话G游 专题:手机病毒揭密
- ARP攻击防范与解决方案 路由故障处理手册
- Picasa中文版_Picasa教程 专题:清除流氓软件
- Firefox专题 seo搜索引擎优化专区
- 重装Windows必知的事情 装机之必备软件大行动
病毒专杀栏
