首页 > 其他分享 >c语言,一维数组指针

c语言,一维数组指针

时间:2023-09-28 19:00:47浏览次数:40  
标签:一维 int 地址 数组 -----------& 指针

@TOC

前言

今天我们讲一下一维数组指针。

一、一维数组指针的定义:

c语言,一维数组指针_数组

  1. 概述: 数组指针,就是数组类型的指针。数组里面的 每一个元素都是一个地址 。可以让 数组指针指向一个数组的地址 ,通过地址遍历数组的各个元素。
  2. 定义一维数组指针的步骤: int a[5] = {4,5,6,7,8}; / / 定义一个数组 int (*p)[5] = &a; / / 定义一个数组类型的指针指向数组a的地址
  3. 注意: int [5]是数组类型,指针指向它,用一维数组指针 int (*p)[5]。必须加上(),因为 的优先级低于[ ]。p先和结合就是指针,在和[ ]结合就是数组,就是一维数组指针。

二、一维数组指针的推导及使用:

  1. 推导公式: int a[5] = {4,5,6,7,8}; int (*p)[5] = &a; 因为 p == &a; 所以 *p == *&a == a; 则 *p 就和a 一样使用了。 (1)读:------------(2)写:--------------------(3)取地址 a[0] == (*p)[0] ------(*p)[0]== a[0]------------&a[0]== &(*p)[0] a[1] == (*p)[1]-------(*p)[1] == a[1]-----------&a[1]== &(*p)[1] a[2] ==(*p)[2]--------(*p)[2] == a[2]-----------&a[2] == &(*p)[2] a[3] ==(*p)[3]--------(*p)[3] == a[3]-----------&a[3] == &(*p)[3] a[4] ==(*p)[4]--------(*p)[4] == a[4]-----------&a[4] == &(*p)[4]
  2. 实际应用:(遍历数组各个元素)

三、补充:

c语言,一维数组指针_数组指针_02

&a 与&a[0] 的数值一样,但是类型不一样。 同样是+1: &a 是数组的地址,+1就是加整个数组的大小。 &a[0]==a 是元素的地址,+1就是加一个元素的大小。

总结

虽然一维数组指针在实际应用上很少用到,但是也是一个比较重要的知识点,大家好好学习,好好理解一下。下一节我们讲二维数组指针。

标签:一维,int,地址,数组,-----------&,指针
From: https://blog.51cto.com/u_16159289/7642089

相关文章

  • 2023-09-13:用go语言,给定一个整数数组 nums 和一个正整数 k, 找出是否有可能把这个数组
    2023-09-13:用go语言,给定一个整数数组nums和一个正整数k,找出是否有可能把这个数组分成k个非空子集,其总和都相等。输入:nums=[4,3,2,3,5,2,1],k=4。输出:True。答案2023-09-13:第一种算法(canPartitionKSubsets1)使用动态规划的思想,具体过程如下:1.计算数组nums的总和sum......
  • 前端 数组删除元素
    以下是几种常用的数组删除数据的方式:使用pop()方法:pop()方法用于删除数组的最后一个元素,并返回被删除的元素。//示例数组letarr=[1,2,3,4];//删除最后一个元素letremovedElement=arr.pop();console.log(arr);//[1,2,3]console.log(removedElement);//4使......
  • 小程序数组数据变化渲染的不是最新值?
    微信小程序切换后数据不是最新值如果是相同的key此时vue会跳过更新复用上次的dom和值,把第二个的别名item换成不相同的,比如item1,还不行就第二个的index换成index1key也换成index1<viewclass="queryCert-result-list"v-if="list.length>0"><viewclass="queryCert-result-list......
  • 数组能改变大小吗
    提问数组能改变大小吗回答能usingSystem;publicclassSamplesArray{publicstaticvoidMain(){//Createandinitializeanewstringarray.String[]myArr={"The","quick","brown","fox","jump......
  • 算法学习——同向扫描的双指针
    考虑到,$1\leN\le2\times10^5$,$O(n^2)$的暴力判断无法通过此题,下面给出三种可行的解决方案。1.哈希容易想到的一个思路是:用哈希表记录一下$a_1\sima_n$每个数出现了多少次,然后求出$\Sigma_{i=1}^ncnt_{a_i-c}$即可,$cnt_{a_i}$表示$a_i......
  • 如何将数组中元素为空的数据过滤掉?
    场景:后台返回所有文件列表信息,需要将fileId有值的文件过滤出来回显到页面上。错误处理:使用map+if判断letarr=[{fileId:'1',fileName:'缴费明细表'},{fileId:'2',fileName:'支付明细表'},{fileId......
  • 根据一个数组,创建一个Segment Tree(线段树)
    线段树的特点线段树的优势线段树的构造过程(0,5)37:数组元素下标0~5的元素之和是37(0,2)21:数组元素下标0~2的元素之和是21线段树的基本数据结构(结点结构由五个分量组成)运行结果(C语言代码)递归的创建一颗线段树,然后中序、先序、后序遍历这个结点#include<stdio.h>#include<st......
  • js 检索数组对象中某个属性的值是否不相等
    //判断选中的项是否有不相同的模型consthasNameProperty=_this.selectedOrderList.filter(order=>order.hasOwnProperty("item_model_id"));if(hasNameProperty.length>0){constisEveryNameEqual=hasNameProperty.reduce((prev,curr)=>{if......
  • python numpy 数组操作
          ......
  • vue 数组删除(对象)单/多条删除
    dataList:[{id:'1',value:'aaaa',},{id:'2',value:'bbb',},{id:'3',value:'ccc',},{......