通过指针变量存取一维数组元素

简介: 通过指针变量存取一维数组元素
任务描述

本关任务:编写程序用指针变量遍历一个数组。

相关知识

为了完成本关任务,你需要掌握: 1.指向数组元素的指针的运算 2.如何遍历数组。

视频1 指针与一维数组

指向数组元素的指针的运算
指针与整数的加减运算

有数组和指针变量的定义如下:

  1. int a[10],*p=a;

数组名代表数组的首地址,也就是数组元素a[0]的地址,现在指针变量p已指向数组中的第一个元素a[0],假设a[0]的地址为0x0022ff40,则p的值为0x0022ff40,则p+1的值为0x0022ff44p+1指向同一数组中的下一个元素,而p-1的值为0x0022ff3cp-1指向同一数组中的上一个元素,数组已经越界,系统不做数组越界检查。同理, p+i指向数组的第i个数组元素a[i]指针与整数的加减运算结果是一个指针

两个指针相减运算

有数组和指针变量的定义如下:

  1. int a[10],*p1=&a[3],*p2=&a[5];

两个指针变量p1p2可以进行相减运算,结果是一个整数,但是只有在p1p2都指向同一数组中的元素时才有意义,现在p1指向a[3]p2指向a[5],那么p2-p1的值是整数 2,表示两个指针p1p2之间数组元素的个数。

注意:指针变量不能做加法运算,如不能有p1+p2的运算。

两个指针的关系运算

有数组和指针变量的定义如下:

  1. int a[10],*p1=&a[3],*p2=&a[5];

两个指针变量p1p2可以进行比较运算,若p1<p2为真,则表示p1指向的数组元素在前,p2指向的数组元素在后;若p1<p2为假,则相反;若p1==p2,则表示p1p2指向同一元素。若p1p2不指向同一数组,比较无意义。指针变量还可以与NULL比较,表示是否指向了一个变量,如p==NULLp!=NULL

编程要求

根据提示,在右侧编辑器 Begin-End 区间补充代码,输入并输出数组的值。

测试说明

平台会对你编写的代码进行测试:

测试输入:491512321631794282 预期输出:491512321631794282


开始你的任务吧,祝你成功!


相关文章
|
2天前
|
存储 人工智能 C语言
C语言程序设计核心详解 第八章 指针超详细讲解_指针变量_二维数组指针_指向字符串指针
本文详细讲解了C语言中的指针,包括指针变量的定义与引用、指向数组及字符串的指针变量等。首先介绍了指针变量的基本概念和定义格式,随后通过多个示例展示了如何使用指针变量来操作普通变量、数组和字符串。文章还深入探讨了指向函数的指针变量以及指针数组的概念,并解释了空指针的意义和使用场景。通过丰富的代码示例和图形化展示,帮助读者更好地理解和掌握C语言中的指针知识。
|
19天前
|
搜索推荐 C语言
指针与数组
指针与数组
47 9
|
20天前
|
存储 安全 C++
C++:指针引用普通变量适用场景
指针和引用都是C++提供的强大工具,它们在不同的场景下发挥着不可或缺的作用。了解两者的特点及适用场景,可以帮助开发者编写出更加高效、可读性更强的代码。在实际开发中,合理选择使用指针或引用是提高编程技巧的关键。
22 1
|
26天前
|
算法 Java
双指针在数组遍历中的应用
文章深入探讨了双指针技术在数组遍历中的应用,通过实战例子详细解释了快慢指针和首尾指针的不同用法,并提供了解决LeetCode相关问题的Java代码实现。
|
19天前
|
存储 程序员 C语言
指针的高级应用:指针数组、数组指针、函数指针等。
指针的高级应用:指针数组、数组指针、函数指针等。
58 0
|
2月前
|
运维
开发与运维数组问题之指针的加减法意义如何解决
开发与运维数组问题之指针的加减法意义如何解决
36 7
|
2月前
|
C++ 索引 运维
开发与运维数组问题之在C++中数组名和指针是等价如何解决
开发与运维数组问题之在C++中数组名和指针是等价如何解决
20 6
|
2月前
|
存储 C++ 运维
开发与运维数组问题之指针的定义语法如何解决
开发与运维数组问题之指针的定义语法如何解决
24 6
|
3月前
|
编译器 C语言
指针进阶(数组指针 )(C语言)
指针进阶(数组指针 )(C语言)
|
3月前
|
Java 程序员 Linux
探索C语言宝库:从基础到进阶的干货知识(类型变量+条件循环+函数模块+指针+内存+文件)
探索C语言宝库:从基础到进阶的干货知识(类型变量+条件循环+函数模块+指针+内存+文件)
35 0