首页 > 其他分享 >arr和&arr的不同

arr和&arr的不同

时间:2023-02-25 13:06:02浏览次数:24  
标签:arr int 不同 数组名 地址 数组 printf

一般来说对于一个数组来说数组名代表着首元素的地址,但是有一种情况是例外就是使用sizeof(数组名)这里的数组名代表的是整个数组而不再是首元素的地址。

我们通过一个代码来仔细了解一下区别

#include<stdio.h>
int main()
{
int arr[10] = { 0 };
printf("arr的地址是%p\n", arr);//%p就是打印地址
printf("&arr的地址是%p\n", &arr);
printf("&arr[0]的地址是%p\n", &arr[0]);
return 0;
}

运行结果

arr和&arr的不同_数组

我们发现这三个打印出的地址是一样的,但对于&arr和arr还是有很大区别的至于区别在哪我们看下面的这个代码。

#include<stdio.h>
int main()
{
int arr[10] = { 0 };
printf("arr的地址是%p\n", arr);
printf("arr+1的地址是%p\n", arr + 1);
printf("&arr的地址是%p\n", &arr);
printf("&arr+1的地址是%p\n", &arr+1);
return 0;
}

运行结果如图

arr和&arr的不同_#include_02

很明显&arr+1和arr+1分别执行了不同的操作。arr+1跳过的是四个字节,而&arr+1跳过的是40个字节。那么我们就验证了&arr代表的是整个数组的地址而arr只是代表首元素的地址。

标签:arr,int,不同,数组名,地址,数组,printf
From: https://blog.51cto.com/u_15838996/6085294

相关文章

  • ArrayList集合
    一、ArrayList集合用法//E指泛型,用的时候使用其它数据类型替换即可ArrayList<E>list=newArrayList<>();二、ArrayList集合的构造方法和添加方法三、ArrayList......
  • 【Java】ArrayList线程不安全的坑
    问题复现:使用Java的steam().paralleStream(),foreach()方法向ArrayList添加数据,导致ArrayList中出现空值,代码如下:publicstaticvoidmain(String[]args){......
  • LeetCode 62. 不同路径(/)
    题目约束题解解法一classSolution{public:intuniquePaths(intm,intn){vector<vector<int>>f(m,vector<int>(n));for(inti=......
  • 力扣96 不同的二叉搜索树
    题目:给你一个整数n,求恰由n个节点组成且节点值从1到n互不相同的二叉搜索树有多少种?返回满足题意的二叉搜索树的种数。示例:输入:n=3输出:5思路:披着二......
  • ArrayList学习笔记
    目录1、继承关系1.1、Serializable标记性接口1.2、Cloneable标记性接口1.3、RandomAccess标记性接口2、属性3、构造方法3.1、无参构造方法-ArrayList()3.2、有参构造方......
  • 数字彩色图像的水印嵌入仿真,带GUI界面,可以选择图片和水印,可以选择不同的攻击方式验
    1.算法描述      随着互联网的普及和数字技术的广泛应用,数字产品变得极大丰富并且传播便捷,同时版权保护问题也日益突出。传统的信息安全技术在数字产品版权保护方面......
  • Spring 保存带Array字段的记录到PostgreSQL
    前言本文继续学习PostgreSQL,看到PostgreSQL有个Array字段,感觉可以用来存储某种表,比如股票每天的价格,我们称为market_price表,先来看下最开始market_price表的定义cre......
  • 【练习】不同排序算法执行时间比较
    插入:template<typenameDataType>voidinsert(DataTypeD[],intlength){DataTypekey;for(intj=2;j<length;j++){......
  • 同一地址,不同库的写法
    (`uat_xwsc_mysql_data`.`t_union_order``o`JOIN`uat_xwsc_mysql_data`.`t_union_product``p`ON((`o`.`UNION_PRODUCT_ID`=`p`.`ID`))) LEFTJOIN`uat_xwsc......
  • 2023.02.24 - localStorage和sessionStorage在不同标签页间通信情况
    在访问http://example.com/page1时,可以在浏览器开启有A、B和C三个标签页。在localStorage存储下作用的是当前域同端口的存储共享,所得的结果是【同域名下同端口】的local......