首页 > 其他分享 >输出有10个元素的整型数组各元素的值

输出有10个元素的整型数组各元素的值

时间:2024-06-06 15:30:32浏览次数:17  
标签:10 变量 指向 元素 整型 数组 指针

(1)下标法

编写程序:

(2)指针法:

将上面程序第7行和第10行的a[i]改为"*(a+i)"。

(3)用指针变量指向数组元素

编写程序:

运行结果:

对3种方法的比较:
        方法(1)和(2)的执行效率是相同的。C++编译系统是将a[i]转换为*(a+1)处理的,对每个a[i]都分别计算地址a+ixd,然后访问该元素。第(3)种方法比方法(1)、(2)快,用指针变量直接指向元素,不必每次都重新计算地址,像p++这样的自加操作是比较快的。这种方法能提高执行效率。
        用下标法比较直观,能直接知道是第几个元素。例如,a[5]是数组中序号为5的元素(注意序号从0算起)。用地址法或指针变量的方法都不太直观,难以很快地判断出当前处理的是哪一个元素。例如,对第(3)种方法,阅读者要仔细分析指针变量p的当前指向,才能判断当前输出的是第几个元素。
        在用指针变量指向数组元素时要注意:指针变量p是被定义为指向整型的对象,它可以指向整型的数组元素,也可以指向数组以后的内存单元。如果有
        int a[10],*p=a;          //指针变量p的初值为&a[0]
        cout<<*(p+10);        //要输出a[10]的值
数组a最后一个有效的元素是a[9],现在要求输出a[10],但C++编译系统并不把它认作非法。系统按p+10xd计算出要访问单元的地址,这显然是a[9]后面一个单元的地址,然后输出这个单元中的内容。如果写成"cout<<a[10];"或"cout<<*(a+10);",情况也一样。这样做虽然是合法的(在编译时不出错),但应避免出现这样的情况,这会使程序得不到预期的结果。这种错误比较隐蔽,初学者往往难以发现。在使用指针变量指向数组元素时,应切实保证指向数组中有效的元素。
        指向数组元素的指针的运算比较灵活,务必小心谨慎。

标签:10,变量,指向,元素,整型,数组,指针
From: https://blog.csdn.net/2301_80138271/article/details/139464193

相关文章

  • js实现元素拖拽
    采用vueuse中的useDraggable,使用便捷,不需要过多复杂的操作实现流程在项目中安装vueusenpmi@vueuse/core然后在需要用到的页面引入useDraggableimport{useDraggable}from"@vueuse/core";使用通过调用useDraggable函数,将需要进行拖拽的元素dragref作为入参传入,同时......
  • MBR10100FCT-ASEMI肖特基二极管MBR10100FCT
    编辑:llMBR10100FCT-ASEMI肖特基二极管MBR10100FCT型号:MBR10100FCT品牌:ASEMI封装:TO-220F最大平均正向电流(IF):10A最大循环峰值反向电压(VRRM):100V最大正向电压(VF):0.80V工作温度:-65°C~175°C反向恢复时间:5ns芯片个数:2芯片尺寸:50mil引脚数量:3正向浪涌电流(IFMS):150A包装方式:5......
  • 10X空间转录组数据分析之CNV轨迹层级
    作者,EvilGenius今天我们要完成一项工程,那就是CNV层级轨迹,如下图:首先来看一下什么是CNV谱系拷贝数变异(CNVs)在细胞增殖过程中在基因组中积累,提供了系统发育谱系的特征。通过转录组数据上使用intercnv生成CNV谱,能够以空间和时间分辨率跟踪克隆系统发育。文章空间转录组数......
  • 10、系统安全及应用
    1、账号安全用户的账号是计算机使用者的身份凭证或标识,每个要访问系统资源的人,必须凭借其用户账号才能进入计算机。1.1系统账号清理在Linux系统中,除了用户手动创建的各种账号之外,还包括随系统或程序安装过程而生成的其他大量账号。除了超级用户root之外,其他大量账号只是用......
  • 七(汇编程序设计):已知一个M行N列的矩阵A,它的元素按行的顺序存于内存中,试编写求每行元素
    代码DSEGSEGMENTARRDB15H,22H,3H,0E4H,0A5H,56H,7H,18H DB31H,12H,13H,24H,45H,26H,47H,18H DB12H,25H,33H,34H,45H,66H,47H,81H DB10H,21H,63H,54H,56H,0C6H,0A7H,38HMDB4N DB8RowSumdw4DUP(0)ColSumdw8DUP(0)DSEGENDSCSEGS......
  • CSP历年复赛题-P2010 [NOIP2016 普及组] 回文日期
    原题链接:https://www.luogu.com.cn/problem/P2010题意解读:计算两个日期之间有多少个日期是回文。解题思路:如果通过枚举两个日期之间的所有日期,然后判断回文,则会有几个问题:枚举数据规模在10^7级别,再加上对于日期加一天、判断回文等处理,有可能超时,而且对日期进行加一天、判断回......
  • 「漏洞复现」Apache OFBiz 路径遍历漏洞(CVE-2024-36104)
    0x01 免责声明请勿利用文章内的相关技术从事非法测试,由于传播、利用此文所提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责,作者不为此承担任何责任。工具来自网络,安全性自测,如有侵权请联系删除。本次测试仅供学习使用,如若非法他用,与平台和本文作者无关,需......
  • 【机器学习300问】108、什么是多项式回归模型?
    一、多项式回归是什么(1)举例说明        假设你经营着一家农场,想要根据土地面积来预测作物的产量。如果你只用线性模型(即),你可能会发现它并不足以描述实际的产量情况,因为实际产量可能会随着土地面积的增加而经历先快速增加然后趋于平缓的过程。线性回归模型......
  • C#开源实用的工具类库,集成超过1000多种扩展方法
    https://www.cnblogs.com/Can-daydayup/p/18230586今天大姚给大家分享一个C#开源(MITLicense)、免费、实用且强大的工具类库,集成超过1000多种扩展方法增强.NETFramework和.NETCore的使用效率:Z.ExtensionMethods。直接项目引入类库使用在你的对应项目中NuGet包管理器中搜索......
  • python基本语法元素
    1.输入与输出实现人机交互。输出:使用print()函数print("Hello,World!")#简单文本输出,输入:使用input()函数,用户输入默认被视为字符串name=input("请输入你的名字:")print("你好,"+name)2.注释单行注释:使用#符号#这是一个单行注释多行注释:使用三个单引号......