首页 > 其他分享 >数组指针的相关知识

数组指针的相关知识

时间:2024-10-27 11:16:21浏览次数:8  
标签:arr 知识 int 元素 pb 数组 指针

1.数组指针的概念

        1.顾名思义,数组指针就是指向数组的指针(地址),要和指针数组做区分。

        数组指针:类型为 int(*)[常量],是一个地址。

        指针数组:是由 int * 类型之类的指针为元素的数组,是一个数组。

        2.数组指针指向的是整一个数组,而非那个数组的首元素。

        例如:

                在这幅图中,分别创作了 int 类型指针pa,和 int(*)[4] 类型指针pb。

                pa 指向了 arr 首元素的地址,而 pb 指向了 arr 数组,他们输出的结果是一样的。但是,当 arr 是二维数组时,pa 就无法成功创建,而 pb 却能成功创建,如:

                

                这说明,二维数组的首元素确实是整一个数组,而非那个数组的首元素。


2.多维数组的元素

        1.事实上,二维数组的元素的数据类型是 int(*)[] ,也就是数组指针。

        2.其他多维数组的元素的数据类型也是 int(*)[],本质上是套娃。


3.数组指针的使用

        1.如果想使用数组指针答应二维数组,可以这样做:

                

        值得注意的是,*pb[0] + i 与 arr[0] + i 与 arr[0][i] ,这三者是完全等价的。

        你甚至可以将 arr[0] 写成 0[arr],如:

                


标签:arr,知识,int,元素,pb,数组,指针
From: https://blog.csdn.net/bitenum/article/details/143252358

相关文章

  • 指针(进阶)
    1.字符指针2.数组指针3.指针数组4.数组传参和指针传参5.函数指针6.函数指针数组7.指向函数指针数组的指针8.相关的练习指针的主题,我们在初级阶段的《指针》已经接触过了,我们知道了指针的概念:1.指针就是个变量,用来存放地址,地址唯一标识一块内存空间。2.指针......
  • 7.C++数组
    C++数组1.数组1.数组在C++中,数组是一种存储固定大小的相同类型元素的序列。数组的所有元素都存储在连续的内存位置上。这种数据结构非常适合于存储具有固定数量和相同数据类型的元素集合。声明数组声明数组的基本语法如下数据类型数组名[数组大小];声明一......
  • 再学HBase,关于HBase的一些基础知识 | 如何集成在java中
    HBase简介在使用方面:HBase是一种数据仓库,是基于hdfs的nosql数据源,数据都是存放在hdfs上的,不需要像hive一样再去运行MapReduce进行长时间运算。特点:在phonenix/hive的集成下才可以支持sql,本身是有自己的dql语言的。具有一级索引rowKey,基于一级索引查询hbase的表都是物理表,......
  • C语言经典20例(输入数组元素,将其反转并输出)
    1.定义数组:首先定义一个数组来存储输入的元素。2.输入元素:使用循环结构(如for循环)来从用户那里获取数组元素。3.反转数组:通过交换数组两端的元素来实现反转,这通常需要一个循环,该循环从数组的两端开始,向中间移动。4.输出反转后的数组:再次使用循环结构来打印反转后的数组。......
  • 简单区分常量指针和指针常量的小技巧
    指针常量和常量指针介绍推荐一个文章,有介绍指针常量和常量指针,本文就不做另外的篇幅去介绍彻底理解——指针常量和常量指针、指向常量的常指针-CSDN博客区分的方法该方法简单好用,掌握了以后就再也不会分不清这两个东西了只要记住这句话:const默认是修饰它左边的符号的,如果左......
  • 基于SpringBoot+Vue+uniapp的学生知识成果展示与交流的详细设计和实现(源码+lw+部署文
    文章目录前言详细视频演示具体实现截图技术栈后端框架SpringBoot前端框架Vue持久层框架MyBaitsPlus系统测试系统测试目的系统功能测试系统测试结论为什么选择我代码参考数据库参考源码获取前言......
  • 算法的尽头是小学奥数?小学奥数必须掌握的30个知识模块
    1.和差倍问题和差问题和倍问题差倍问题已知条件几个数的和与差几个数的和与倍数几个数的差与倍数公式适用范围已知两个数的和,差,倍数关系公式①(和-差)÷2=较小数较小数+差=较大数和-较小数=较大数②(和+差)÷2=较大数较大数-差=较小数和-较大数=较小数和÷(倍数+1)=小数......
  • 实现动态一维数组和二维数组
    实现一维动态数组includeinclude<malloc.h>usingnamespacestd;voidoutput(intn){int*arr=(int*)malloc(sizeof(int)*n);//在c++中,则是int*arr=newint[n];if(arr==NULL)return;for(inti=n;i<=2*n-1;i++){ arr[i-n]=i; cout<<......
  • C语言——数组、指针、函数
    目录1、数组、指针、函数2、数组指针及指针数组2.1、数组指针2.2、指针数组2.3、区别3、指针函数与函数指针3.1、指针函数3.2、函数指针3.3、区别4、所有组合1、数组、指针、函数    在前面我们已经学习了数组、指针以及函数,看起来都没有难的地方,我自认......
  • 只需初中数学知识就能理解人工智能大语言模型
    全面解释人工智能LLM模型的真实工作原理(一)#人工智能#大语言模型LLM#机器学习ML#深度学习#数据挖掘序言:为了帮助更多人理解,我们将分成若干小节来讲解大型语言模型(LLM)的真实工作原理,从零开始,不需额外知识储备,只需初中数学基础(懂加法和乘法就行)。本文包含理解LLM所需的......