扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
对于数组和多维数组的内容这里就不再讨论了,前面的教程有过说明,这里主要讲述的数组和指针类型的关系,通过对他们之间关系的了解可以更加深入的掌握数组和指针特性的知识!
一个整数类型数组如下进行定义:
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; file://定义指针*pb的地址为数组a的开始地址
int *pe=a+2; file://定义指针*pb的地址为数组a的结束地址
cout << a << "" << a[0] << "" << *(a+1) << "" << pb << "" << *pb <<endl;
while (pb!=pe) file://利用地址进行逻辑判断是否到达数组的结束地址
{
cout << *pb << endl;
pb++; file://利用递增操作在循环中将pb的内存地址不断向后递增
}
cin.get();
}
如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。
现场直击|2021世界人工智能大会
直击5G创新地带,就在2021MWC上海
5G已至 转型当时——服务提供商如何把握转型的绝佳时机
寻找自己的Flag
华为开发者大会2020(Cloud)- 科技行者