首页 > 其他分享 >看过这里,你可能更了解指针5

看过这里,你可能更了解指针5

时间:2024-11-19 21:07:39浏览次数:1  
标签:看过 字节 位中 地址 了解 64 大小 指针

首先让我们先来看下图

想想答案过后

让我们来分析

****在1中

p表示一个指针,sizeof(p)则是要计算一个指针的大小,
指针大小在32位中是4个字节大小,而在64位中是8个字节大小(要特别注意这里的p不是数组名而是指针变量)

****在2中,

p表示的是指针,而p指针指向的地址是常量字符中的a,
如图所示,

而+1则是指向b的地址,地址在32位中是4个字节大小,而在64位中是8个字节大小

****在3中

p表示指针,其指向的为a,对其进行解引用则得到了元素a,而a为char类型,故大小为1

****在4中

P[0]与*(p+0)是等价的,即使p并不表示数组名,
但它等价于它指向的地址被解引用,即p[0]表示a,
而a为char类型,故大小为1

****在5中

p表示指针,&p则表示取出p的地址计算其大小,
我们知道地址在在32位中是4个字节大小,而在64位中是8个字节大小

****在6中

它将p的地址取出,并且将其+1
如下图

它就是将跳过了一个p的大小,因为p的大小8(在64位中)则它跳过了8个字节到达了新的地址,
地址在在64位中是8个字节大小,32位中是4个字节大小

****在7中

我们知道p[0]表示*(p+0)表示的是字符串中a的地址,
所以&p[0]则是取出了a的地址对其+1,
则跳过了一个a的大小,
如下图

它跳到了b的位置,地址在32位中是4个字节大小,而在64位中是8个字节大小

****最后附上64位的运算结果

ending.

标签:看过,字节,位中,地址,了解,64,大小,指针
From: https://www.cnblogs.com/CxstaR/p/18555379

相关文章

  • 必须了解常用的JDK版本及特性
    在一次面试的时候问到我感兴趣的技术,回答了JAVA,但被问到JDK,除了1.8,就一窍不通,感觉确实应该好好学习一下,至少常见的版本和常见的特性,可以没那么专业,没那么细致,但至少能说个一两句最喜欢的JDK版本我最喜欢JDK17,在这个版本有几点比较常见的特性,Switch语句的增强、字符块的成熟......
  • 你想了解的DDS协议解决方案在这里
        随着汽车电子电气架构快速演进,车企对车内网络通信性能、安全性、灵活性要求日益提升,车载总线通信技术也迎来革新挑战。在此背景下,DDS(DataDistributionService)凭借其高性能、高可靠和低延迟的特点,有力支撑了智能汽车系统的高效运行。    DDS协议凭借其在物联......
  • Java子类继承父类哪些内容 C语言初阶指针数组末
    1.publicclasstest18{/*publicstaticvoidmain(String[]args){Ziz1=newZi();Ziz2=newZi("zhangsan",15);}}classFu{Stringname;intage;publicFu(){}publicFu(Stringname,intage)......
  • 看过这个,你可能更了解指针4
    如图,我们先看以下问题在稍微思考过后,先把你的答案记下来吧。接下来我们分析****1中arr被单独放入sizeof中,表示整个数组,则计算整个数组的大小,且sizeof计算的大小包含\0,则在sizeof看来数组arr有7个元素,类型为char,7乘1=7****2中arr没有单独放入sizeof中,也没有与&结合,所以......
  • C语言 | 指针 | 野指针 | 数组指针 | 指针数组 | 二级指针 | 函数指针 | 指针函数
    文章目录1.指针的定义2.指针的加减运算3.野指针4.指针&数组&传参&字符数组5.数组指针&指针数组6.二级指针7.指针函数&函数指针&回调函数8.函数指针数组&指向函数指针数组的指针1.指针的定义指针是内存中一个最小单元的编号,也就是地址。平常口语中所......
  • 什么是JUPYTER?一文快速了解JUPYTER基础知识 Jupyter
    什么是JUPYTER?一文快速了解JUPYTER基础知识JupyterJUPYTER是一款开源的交互式计算环境,为数据科学家、研究人员和开发者提供了一个灵活且强大的平台,用于创建、共享和展示计算性工作。它最初由FernandoPerez于2014年推出,并得到了全球广泛的应用和认可。JUPYTER的名称源自三个核......
  • C++---智能指针和内存泄露
    文章目录智能指针**发展历史****C++11前****C++11引入的智能指针****智能指针的使用及原理**shared_ptr的循环引用**循环引用的场景**通过weak_ptr来解决shared_ptr的循环引用智能指针的模拟实现内存泄露内存泄露的概念和危害内存泄露分类如何检测内存泄露如何避免内存......
  • C题目:指针-将数组a中的n个整数按相反顺序存放
    题目:将数组a中的n个整数按相反顺序存放代码:#include<stdio.h>voidinv(int*a,intlen){inttemp,i,j,m=(len-1)/2;for(i=0;i<=m;i++){j=len-1-i;temp=a[i];a[i]=a[j];a[j]=temp;}}intmain(){intlen,*p,i,a[1......
  • cpp智能指针
      普通指针的不足new和new[]的内存需要用delete和deletel]释放。程序员的主观失误,忘了或漏了释放。程序员也不确定何时释放。普通指针的释放类内的指针,在析构函数中释放。C++内置数据类型,如何释放?new出来的类,本身如何释放?C++11新增三个智能指针类型uniqu......
  • 谷歌地图 | Places Insights API 推出预览版:深入了解某个区域,帮助用户做出更明智的决
    谷歌地图推出PlacesInsightsAPI,现已推出预览版。这款新API可让开发者超越简单的位置详细信息,更深入地了解用户探索的地点。通过利用GoogleMapPlatform的地点数据,开发者可以揭示定义社区个性的独特特征,包括餐厅、公园、娱乐场所等。CloudAce-谷歌云|谷歌云全球战......