首页 > 其他分享 >数组array 和 &array的区别

数组array 和 &array的区别

时间:2024-06-06 19:28:52浏览次数:28  
标签:区别 int 地址 0000005EC98FFC40 数组 array sizeof

问题

对于数组 array&array有什么区别呢?
先说答案
array: 指向数组第一个数地址的指针
&array: 指向整个数组地址的指针
所以直接打印的话, 地址是一样的.
但是如果+1的话, 那么array是增加sizeof(int)大小, &array是增加sizeof(int) * array.size()

测试

#include <iostream>
using namespace std;


int main() {
	int array[5];
	cout << "array = " << array << " : &array = " << &array << endl;
	cout << "array + 1 = " << array + 1 << " : &array + 1 = " << &array + 1;
	return 0;
}

执行结果
我们分析下, 直接打印他们的地址都是0000005EC98FFC40
但是如果+1的话:
array+1 = array的地址 + sizeof(int) = 0000005EC98FFC40 + 4 = 0000005EC98FFC44
&array + 1 = &array的地址 + sizeof(int) * array.size() = 0000005EC98FFC40 + 4 * 4 = 0000005EC98FFC54
在这里插入图片描述

标签:区别,int,地址,0000005EC98FFC40,数组,array,sizeof
From: https://blog.csdn.net/qq_40666620/article/details/139506578

相关文章

  • 记录工作中常用的 JS 数组相关操作
    工作中难免会遇到各种各样的数据结构,较为全面的了解数组操作,对于复杂数据结构的处理会非常有用且节省时间所以想在这里总结一下工作中常用的数组操作,都是一些非常基础的知识,大家看个乐就好~目录工作中常用的数组方法常见数组方法中的用法、以及坑slice()和splice()方法......
  • 函数重载和模板的区别与联系
    函数重载和模板的区别与联系函数重载(overloaded):定义函数名相同而形参列表(个数,类别)不同的多个函数,这些函数被称为重载函数,重载函数通常执行的操作非常类似,如打印不同的输入对象。调用函数时编译器根据实参的类型确定调用哪个重载函数。函数模板(template):实际上是建立一......
  • 路由器 交换机 集线器的区别
    三者对比集线器交换机路由器IP支持不支持不支持支持MAC地址支持不支持支持支持OSI中的层次物理层数据链路层网络层是够可以作为网关否否是集线器:只是做数据的转发,并且是广播方式的转发,一个网口输入一份数据,会被分发到其他所有端口。交换机:......
  • 百兆网口和千兆网口指示含义的区别
    网口指示灯状态:千兆网口和百兆网口灯的含义不同千兆网口:根据核心板提供给ETH0_LED1、ETH0_LED1的信号当与其连接的是百兆网口PHY芯片的设备时,LED1(绿灯)亮,LED2(黄灯)不亮当有数据发送或者接收时,闪烁;当与其连接的是千兆网口PHY芯片的设备时,LED2(黄灯)亮,LED1(绿灯)不亮,当有数据发送或......
  • MDZ UPnP和端口映射 区别
    DMZ(demilitarizedzone):可以简单理解成把网关的全端口转发到指定内网主机上,只能指定一台主机。这是一种静态全端口映射。这个协议只要早网关开启就行了。UPnP(UniversalPlugandPlay):这个协议的目的是动态的映射网关的指定端口到指定主机上,可以一把网关的不同端口映射到不同......
  • §2. 隐函数组
    掌握隐函数组的概念和隐函数组定理,会求隐函数组的偏导数。掌握反函数组定理,会求反函数组的偏导数。难点:求解隐函数组的偏导数(公式法或直接求偏导数然后解方程组)。重点习题:例1、例2、例3   卡尔·雅可比(CarlGustavJacobJacobi,1804~1851),德国数学家。1804年12月10日生......
  • JavaScript-Array
    JavaScript-Array1.定义方式方式一:vararr1=newArray(1,2,3,4);方式二:vararr2=[1,2,3];2.特点JavaScript中数组相当于java中的集合,数组的长度是可以变化的,并且可以存储任意数据类型的值。vararr1=newArray(1,2,3,4);console.log(arr1);arr1[10]=5......
  • 输出有10个元素的整型数组各元素的值
    (1)下标法编写程序:(2)指针法:将上面程序第7行和第10行的a[i]改为"*(a+i)"。(3)用指针变量指向数组元素编写程序:运行结果:对3种方法的比较:        方法(1)和(2)的执行效率是相同的。C++编译系统是将a[i]转换为*(a+1)处理的,对每个a[i]都分别计算地址a+ixd,然后访问该元素。第......
  • 数据转换-位串字节数组
    utils.c#include"utils.h"intBitstr2ByteArr(unsignedchar*bs,unsignedchar*ba,int*lba){inti,j;for(i=0,j=0;j<*lba;j++){ba[j]=0;for(intk=0;k<8;k++){if(bs[i]=='......
  • 详解C和C++的区别
    在学习C++和C语言的过程中,总会分不清两者的区别。在此,做一个总结梳理。首先需要明白的是C语言是面向过程语言(分析解决问题的步骤,并将这些步骤一步一步的实现,使用的时候依次调用);C++是面向对象语言(把问题分解成各个对象,描述某个对象在整个解决问题的步骤中的行为)。面向过程......