首页 > 其他分享 >指针与数组

指针与数组

时间:2023-12-29 21:45:45浏览次数:26  
标签:const int ++ pa 数组 pi 指针

数组名访问数组元素

a[i] 等价于 *(a + i)

数组名也是指针,但是是指针常量,指针操作赋值给普通指针

int i, *pa, a[] = {3,4,5,6,7,3,7,4,4,6};
pa = a;
a++;//不可以
pa++;//可以

int i, a[] = {3,4,5,6,7,3,7,4,4,6};
int *const pa = a; /* 注意 const 的位置:不是 const int *pa */
a++;//不可以
pa++;//不可以

const int *pi与int *const pi

int const i 等价于 const int i //前后一样i不可以被赋值

const int *pi = &i1;
pi = &i2; //注意这里,pi 可以在任意时候重新赋值一个新内存地址
*pi = i2;//不可以

// int *const pi 与 int const *pi不同,const 是写在 pi 前和*号后的,而不是写在*pi 前的
int *const pi = &i1;
pi = &i2; //不可以,pi是指针常量

const int * const pi=&i;//pi不能改,*pi也不能改

标签:const,int,++,pa,数组,pi,指针
From: https://www.cnblogs.com/liubenben/p/17935732.html

相关文章

  • 力扣448-找到所有数组中消失的数字
    难度:【简单】常规笨方法做一遍:先遍历一遍记录到哈希表中,再从1到n遍历一遍,不在哈希表中的记入返回数组中,时空复杂度都是O(n)。尝试优化空间复杂度到O(1):先填满返回数组,再遍历原数组,原数组中出现的元素删掉。也是朴素的笨方法,所以超出了时间限制。这让我体会到了数组查找元素的时......
  • day02 代码随想录算法训练营 977. 有序数组的平方
    题目:977. 有序数组的平方我的感悟:这道题,仔细观察,平方后两头的大。用双指针,取两头,放到新的数组里。新数组要求排序所以,新的数组从后往前放理解难点:无他,多练习。代码难点:无总结概括:双指针代码示例:classSolution:defsortedSquares(self,nums:List[in......
  • 12.28数组遍历以及动态初始化,数组求最值,基础方法1
    fori用法:数组名.fori直接依次遍历数组中所有元素数组的动态初始化:定义没有元素的数组(静态初始化即已知元素)   方法调用:方法名(); ......
  • 循环嵌套&数组总结
    总结for-循环基本语法:for(1.初始化条件语句; 2.条件判断语句; 4.循环控制语句){3.循环体}执行流程:第1次:1.初始化条件语句=>2.条件判断语句=>3.循环体=>4.循环控制语句第2次:2.条件判断语句=>3.循环体=>4.循环控制语句第3次:2.条件判断语句=>3.循环......
  • 数组遍历&方法总结
    总结数组遍历for+index【普通for循环】下标都是从0开始,到length-1结束。因此我们通过循环可以得到下标,而得到下标后,进而可以通过下标获取对应元素:数组遍历【将所有元素取出来就是遍历】//先打印数组arr所有下标for(inti=0;i<arr.length;i++){//i表示下标,循......
  • 无涯教程-Java泛型 - 不允许 数组
    不允许使用参数化类型的数组。//无法创建Box<Integer>的通用数组Box<Integer>[]arrayOfLists=newBox<Integer>[2];由于编译器使用类型擦除,因此将type参数替换为对象,并且用户可以将任何类型的对象添加到数组中。并且在运行时,代码将无法引发ArrayStoreException。//编译......
  • 代码随想录day 02 双指针 滑动窗口 螺旋矩阵
    有序数组的平方题目如下:如果是可以使用O(nlogn)或以上复杂度的算法,本题可以简单的先平方一遍,然后使用排序算法就可以了但是要求使用O(n)复杂度的算法,那么我首先想到的是昨天的快慢指针类似的想法:我想先平方一次数组,然后从中间开始排序,如下但是运行之后发现从中间开始进行相邻元......
  • 给数组循环遍历添加属性,数组数据打印出来实际已经添加了,但是页面数据并没有展示出来,该
    问题复述,即:在vue项目中中,会遇到修改完数据,但是视图却没有更新的情况问题原因:因为用某些方法修改完数据,vue框架是没办法监听到,无法做到数据响应式,导致数据实际修改了,但页面没展示出来     参考:https://blog.csdn.net/weixin_48998573/article/details/130620390......
  • 【C++】使用指针,动态多维数组
    二维数组intm=3,n=2;int**arr;//动态创建二维数组[3][2]arr=newint*[m];//这里是mfor(inti=0;i<m;i++){ arr[i]=newint[n];//这里是n}三维数组intx=3,y=4,z=5;//arr[3][4][5]int***arr;arr=newint**[x];for(inti=0;i<x;i++){......
  • 字符串字面量初始化数组的歧义?
    chararr[]={'h','e','l','l','o','\0'}声明初始化一个字符数组。为了方便书写,我们也可以写成语法糖形式chararr={"hello"}或者char[]arr="hello""hello"是一个char[]数组类型,C语言规定:数组类型对象用作表达式会转换为首元素指针所以我......