科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网软件频道基础软件C/C++中数组和指针类型的关系

C/C++中数组和指针类型的关系

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

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

来源:中国软件网 2008年4月1日

关键字: 指针 数组 C++ C Linux

  • 评论
  • 分享微博
  • 分享邮件

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

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

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领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章