首页 > 其他分享 >关于 array 和 &array (数组名与数组地址)

关于 array 和 &array (数组名与数组地址)

时间:2023-08-04 10:55:05浏览次数:37  
标签:数组名 关键字 地址 数组 array sizeof

 

对于数组a:

在绝大多数情况下,a 等价于 &a[0],即数组名等于数组首元素地址(等同于数组首地址)

只有两种情况例外:

1.  对数组名取地址(&a),此时虽然数值上等于 a,但表示含义不同,a 表示首元素地址,&a 表示整个数组的首地址,

     因此 a+1 ≠ &a+1,具体见前篇;

2.  使用 sizeof 时,sizeof(a) 得出的是整个数组的字节长,因为 sizeof 不是函数,而是关键字,该关键字能识别数组长度

 

标签:数组名,关键字,地址,数组,array,sizeof
From: https://www.cnblogs.com/wkxnk/p/17605321.html

相关文章

  • c++数组作为函数参数
    intsum_arr(intarr[],intn){ inttotal=0; for(inti=0;i<n;i++){ total=total+arr[i]; } returntotal;}方括号指出arr是一个数组,而方括号为空则表明,可以将任何长度的数组传递给该函数,n代表数组的长度。实际数组名就是指针,解释为其第一个元素的地址。int......
  • 88. 合并两个有序数组
    88.合并两个有序数组给你两个按非递减顺序排列的整数数组nums1和nums2,另有两个整数m和n,分别表示nums1和nums2中的元素数目。请你合并nums2到nums1中,使合并后的数组同样按非递减顺序排列。注意:最终,合并后数组不应由函数返回,而是存储在数组nums1中。为了......
  • 两个有序数组的中位数(第k大的数)——使用二分答案的思路写起来更直观
    问题:两个已经排好序的数组,找出两个数组合并后的中位数(如果两个数组的元素数目是偶数,返回上中位数)。 感觉这种题目挺难的,尤其是将算法完全写对。因为当初自己微软面试的时候遇到了,但是没有想出来思路。看网上写了一堆解法,但是将思路说得非常清楚的少之又少。有两种思路,一个是算法导......
  • 26. 删除有序数组中的重复项
    26.删除有序数组中的重复项![image-20230803210215410](D:\BaiduSyncdisk\C++\笔记图片\26.删除有序数组中的重复项1.png)题目:给你一个升序排列的数组nums,请你原地删除重复出现的元素,使每个元素只出现一次,返回删除后数组的新长度。元素的相对顺序应该保持一致。然后返回......
  • 剑指 Offer 04. 二维数组中的查找(中等)
    题目:classSolution{public:boolfindNumberIn2DArray(vector<vector<int>>&matrix,inttarget){inti=matrix.size()-1,j=0;//以矩阵最左下角作为标记符号while(i>=0&&j<matrix[0].size()){i......
  • shell 读取文件内容到数组
     在shell脚本中,可以使用下面的语法来读取文件内容并将其存储到数组中: bash复制代码array=()whilereadline;doarray+=("$line")done<file.txtLOG_INFO(){localcontent=${1}echo-e"\033[32m[INFO]${content}\033[0m"}IFS=''catbanner.......
  • shell 将文件内容读取到 数组中
    #!/bin/bashprod_file=/home/vmuser/linbo/kettleDemo/job/test/CA-20201224.csvtest_file=/home/vmuser/linbo/kettleDemo/job/test/uat_CA-20201224.csvdtm=`date+"%Y%m%d%H%M%S"`echo$dtmrowCnt=`cat$test_file|wc-l`echo$rowCntecho"-----......
  • 剑指 Offer 11. 旋转数组的最小数字(简单)
    题目:classSolution{public:intminArray(vector<int>&numbers){intresult=numbers[0];//当旋转0个元素时第一个元素就是最小值if(numbers.size()==1)returnresult;for(inti=1;i<numbers.size();i++){//通过观......
  • 数组双指针技巧汇总 [labuladong-刷题打卡 day2]
    https://labuladong.github.io/algo/challenge/ji-chu-tiao-zhan/day02/快慢指针26.删除有序数组中的重复项两个指针分别维护符合条件数组和待删除数组,当快指针移动时将符合条件元素插入已完成数组后即可。通过这两天对双指针的练习,可以发现很多双指针算法其实也是一种迭代算......
  • 前缀和数组技巧 [labuladong-刷题打卡 day3]
    今天是两道前缀和,主要有一维前缀和和二维前缀和,当然扩充到高维也是可以的,只不过状态转移会相对复杂些。这里直接贴一个动态规划的介绍吧:动态规划要素动态规划概念、特点、经典例题和于其它算法思想的比较前缀和其实是备忘录自底向上动态规划算法的一个典型例子,状态转移方程:一......