注册 | 登录
收藏 | 帮助
热门文章
编辑推荐
相关文章  
DNS 系统设定例--5.named.boot 的
Postfix + Cyrus-IMAP + Cyrus-S
Postfix + Cyrus-SASL + Cyrus-I
Postfix集成环境(Postfix + MySQ
MYSQL 新版出现 Client does not
用ASP.NET/C#连接Access和SQL Se
Linux命令Man解释:chsh :更换你登
Linux命令Man解释:chfn :改变你的
一个用tc+iptables实现的下载和上
用tc+iptables+HTB解决ADSL宽带速
您现在的位置: 顶尖设计 >> IT学院 >> 编程开发 >> C >> 文章正文
C/C++中数组和指针类型的关系
作者:佚名  来源:不详  点击:  更新:2006-12-19
简介:
对于数组和多维数组的内容这里就不再讨论了,前面的教程有过说明,这里主要讲述的数组和指针类型的关系,通过对他们之间关系的了解可以更加深入的掌握数组和指针特性的知识!

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

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; //定义指针*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(); 
}






  • 上一篇文章:
  • 下一篇文章:
  • 分享此文:该页面添加到 Mister Wong 添加到雅虎Yahoo!收藏 Add to:Del.icio.us Post to Furl Digg this 添加到Google书签 reddit spurl blogmarks 365Key 评论  收藏  分享  打印
     我来说两句
    姓名:       验证码:   
    主页: 
    评分: 1分 2分 3分 4分 5分
    本频道近期热评文章:
      关于我们 | 联系我们 | 站点地图 | 广告投放 | 友情链接 | 在线留言 | 版权申明
    版权所有 © 2004-2007 顶尖设计(bobd.cn)
    未经授权禁止转载,摘编,复制本站内容或建立镜像. 沪ICP备07504942号 
    网络110
    报警服务