新手入门:C/C++中数组和指针类型的关系

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

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

int a[]={1,2,3,4};

  如果简单写成:

a;//数组的标识符名称

  这将代表的是数组第一个元素的内存地址,a;就相当于&a[0],它的类型是//注意这里的表示就是将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(); 
}

 
 

最新文章

  1. hdu 1069 (DP) Monkey and Banana
  2. 简单的OkHttp使用介绍
  3. IOS开发之小实例--使用UIImagePickerController创建一个简单的相机应用程序
  4. BZOJ 3295: [Cqoi2011]动态逆序对
  5. 71.Android之长连接实现
  6. 答CsdnBlogger问-关于职业发展和团队管理问题
  7. memcached 在window下的安装与使用
  8. RichTextBox选中文本时往自己的其他的位置实现拖拽
  9. 基于jQuery选择器的整理集合
  10. 【gm】
  11. Fire Net(深搜 和一前不一样的深搜)
  12. JDBC 基础概念
  13. 英特尔的VT-d技术是什么?
  14. sql点滴38—SQL Server 2008和SQL Server 2008 R2导出数据的选项略有不同
  15. 【同余方程组】POJ1006 生理周期
  16. Minesweeper
  17. 金9银10,分享几个重要的Android面试题
  18. Android事件分发流程总结
  19. MAC地址表、ARP缓存表以及路由表
  20. Appium-两个小报错

热门文章

  1. Java冒泡排序与快速排序笔记
  2. Microsoft Visual Studio常用快捷键
  3. 提高QPS
  4. asp.net代码审计起始篇之系统搭建
  5. 转 CentOS 初体验十四:阿里云安装Gitlab
  6. Python学习日记(二十二) 初识面向对象
  7. Python 依赖版本控制 (requirements.txt 文件生成和使用)
  8. Mybatis中传递多个参数的方法总结
  9. 转载-企业环境下MySQL5.5调优
  10. C++中与类有关的注意事项(更新中~~~)