用指针访问数组元素[1]

数组是一组连续存储的同类型数据,可以通过指针的算术运算,使指针依次指向数组的各个元素,进而可以遍历数组。

定义指向数组元素的指针

  • 定义与赋值

例:

int a[10], *pa;
pa=&a[0]; 或 pa=a;

  • 等效的形式
  1. 经过上述定义及赋值后

*pa就是a[0],*(pa+1)就是a[1],... ,*(pa+i)就是a[i].
a[i], *(pa+i), *(a+i), pa[i]都是等效的。

  • 注意
  1. 不能写 a++,因为a是数组首地址、是常量。

例6-7

设有一个int型数组a,有10个元素。用三种方法输出各元素:

  • 使用数组名和下标
  • 使用数组名和指针运算
  • 使用指针变量

例6-7 (1) 使用数组名和下标访问数组元素

#include <iostream>
using namespace std;
int main() {int a[10] = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 0 };for (int i = 0; i < 10; i++)cout << a[i] << "  ";cout << endl;return 0;
}

例6-7 (2) 使用数组名和指针运算访问数组元素

#include <iostream>
using namespace std;
int main() {int a[10] = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 0 };for (int i = 0; i < 10; i++)cout << *(a + i) << "  ";cout << endl;return 0;
}

例6-7 (3) 使用指针变量访问数组元素

#include <iostream>
using namespace std;
int main() {int a[10] = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 0 };for (int *p = a; p < (a + 10); p++)cout << *p << "  ";cout << endl;return 0;
}

参考

  1. ^http://www.xuetangx.com/courses/course-v1:TsinghuaX+00740043X_2015_T2+sp/courseware/d4eb7d174ba04a4da6282bcae197892c/a58465c9cbbb4e15a08588cc114b5796/

4 指针运算_C++用指针访问数组元素(学习笔记:第6章 08)相关推荐

  1. cout 数组_C++用指针访问数组元素(学习笔记:第6章 08)

    用指针访问数组元素[1] 数组是一组连续存储的同类型数据,可以通过指针的算术运算,使指针依次指向数组的各个元素,进而可以遍历数组. 定义指向数组元素的指针 定义与赋值 例: int 等效的形式 经过上 ...

  2. 本地方法(JNI)——访问数组元素+错误处理

    [0]README 1) 本文文字描述 均转自 core java volume 2 , 旨在理解 本地方法(JNI)--访问数组元素+错误处理 的基础知识 : 2)for source code, ...

  3. php访问数组用引号_php双引号中访问数组元素报错如何解决

    最近在做微信公众号开发,在一个发送图文接口中,需要把数组元素拼接在XML字符串中,本文主要和大家分享一篇基于php双引号中访问数组元素报错的解决方法,具有很好的参考价值,希望对大家有所帮助.一起跟随小 ...

  4. 访问数组元素进行获取

    数组的访问 索引: 每一个存储到数组的元素,都会自动的拥有一个编号,从0开始,这个自动编号称为数组索引(index),可以通过数组的索引访问到数组中的元素. 格式: 数组名[索引] 数组的长度属性: ...

  5. matlab 判断元素索引_MATLAB通过索引访问数组元素

    所谓索引,就是元素在数组这块内存中的顺序号,这与班级里的学号.银行的排号是一样的. 要想知道某个元素的索引,首先得知道数组元素在内存中是如何排布的. 对于一维数组,元素从前往后挨着存储即可:下标为 1 ...

  6. unity3D-游戏/AR/VR在线就业班 C#入门访问修饰符学习笔记

    unity3D-游戏/AR/VR在线就业班 C#入门访问修饰符学习笔记 点击观看视频学习:http://edu.csdn.NET/lecturer/107 访问修饰符 public --公共的,在哪里 ...

  7. 易语言多级指针读取_C语言指针难吗?纸老虎而已,纯干货讲解(附代码)

    作者:21IC网络整理,排版:晓宇 微信公众号:芯片之家(ID:chiphome-dy) 指针对于C来说太重要.然而,想要全面理解指针,除了要对C语言有熟练的掌握外,还要有计算机硬件以及操作系统等方方 ...

  8. c语言普通变量间接访问,C语言学习笔记-指针

    野指针问题 野指针是没有指向地址的指针,也就是该指针指向的地址是随机的. 因为指针的指向地址是随机的,所以很有可能指向不可访问的弟子,导致程序崩溃,或者访问了不该访问的地址,导致影响其他功能使用 为了 ...

  9. 指针嵌套指针 拷贝_C++智能指针小结

    C++中的智能指针包括auto_ptr, unique_ptr, shared_ptr, weak_ptr. 其中 auto_ptr已被弃用. unique_ptr unique_ptr是大部分情况下 ...

最新文章

  1. 直播 | 丁霄汉:结构重参数化与通用视觉模型的基本设计元素
  2. (Oracle)PL SQL的相关知识与实例
  3. yolov5改进VariFocalNet
  4. 在已安装win10环境中利用EasyBCD引导安装Ubuntu18.04(亲自测试,都是血和泪)
  5. Vivado提高综合和实现的速度
  6. android软键盘上推ui解决
  7. 嵌入式算法-傅里叶变换算法
  8. 旅图——用户试用调查报告
  9. python将argv作为参数,Python当中的命令行参数sys.argv[]的使用方法
  10. 在不推动提交的情况下触发Travis-CI重建?
  11. SAAS PASS IASS 理解
  12. idea pull从远程库拉取最新代码
  13. 从木桶理论看自身职业生涯规划
  14. Acwing 1191. 家谱树
  15. Android 详解第三方介质交互之NFC,并且实现读你的交通卡,酒店房卡,学生证!
  16. 在3dmax软件中添加样条的方法和详细步骤
  17. 基于wiki中文语料库的gensim模型使用方法以及R语言的调用方式
  18. 学习java的第17天
  19. 超分辨率重建生成低分辨率图像,生成降质图像公认方法代码
  20. Rundeck基础:3:基础概念:操作Project

热门文章

  1. wicket_Wicket模型的干净方法
  2. [MEGA DEAL]终极Java捆绑包(95%折扣)
  3. java泛型面试_Java泛型面试问题
  4. cjmx:JConsole的命令行版本
  5. 让我们用jOOλ在Java 8中流式传输地图
  6. 从javaagent迁移到JVMTI:我们的经验
  7. 以编程方式访问Java基本类型的大小
  8. 非阻塞式异步Java 8和Scala的Try / Success / Failure
  9. JavaFX 2 XYCharts和Java 7功能
  10. Spring中的@Cacheable开销