数组名和函数名是指针?指针和引用底层一样?

在2023/8/26日晚上,我看到一个所谓“典”的视频,一开始还没太在意,后面想了想发现我貌似也一直犯了以下的错误,而错误的原因在于我在新手阶段学习C/C++并不是查阅文档扎好脚步学习的,而是被铺天盖地的新手学习基础教程里学习的,导致一些对语言的误解越来越深。

1.数组名和函数名是指针?

原视频在b站:数组名是指针?典。

以下是我的个人理解:

  1. 数组名就是数组的名,不是指针,具有数组类型,因此取地址得到整数组地址,sizeof(数组名)就是得到整个数组大小

  2. 在使用数组名的时候(例如arr+1)会发生隐式转化,转化后的类型的确为指针

  3. 函数名也确实是函数名,不是指针,关联一个函数类型,因此取地址得到函数地址,sizeof()没有办法求出(因为sizeof()在编译时确定,而函数栈帧在运行时确定,此时才会给函数分配空间,没有办法给出具体的大小)

  4. 在使用函数名的时候(例如f+1)会发生隐式类型转化,转化后的类型的确为指针

在这里插入图片描述

2.指针和引用底层一样?

有一种说法就是:在汇编层面指针和引用是一样,但是这种说法已经脱离了C/C++语言本身,我在视频的下方有看到一条评论是这样的,我也认为这说得确实比较恰当:

古明地现:“不管存储的数据是什么数据类型,int也好,char也罢,到最后都会变成内存中具体的值,也就是说,高级语言编译后会丢失原有的很多信息。所以仅仅通过分析产们生成的汇编码来判断高级语言中它们的意义是否相同,这样的做法是十分不妥当的。比如unsigned int a = 40;short b = 40;过汇编后内存地址内的数据都是一样的,汇编指令也是一样的。但是这不能证明高级语言层面的ab完全等价,更不能训明shortunsined int是同一种数据类型,简简单单看看汇编码就说某些东西一样的人,只能说他们想的太简单了。”

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/54944.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Java“牵手”天猫商品列表数据,关键词搜索天猫商品数据接口,天猫API申请指南

天猫商城是一个网上购物平台,售卖各类商品,包括服装、鞋类、家居用品、美妆产品、电子产品等。要获取天猫商品列表和商品详情页面数据,您可以通过开放平台的接口或者直接访问天猫商城的网页来获取商品详情信息。以下是两种常用方法的介绍&…

Vue2向Vue3过度Vuex核心概念actions

目录 1 核心概念 - actions1.定义actions2.组件中通过dispatch调用 2 辅助函数 -mapActions 1 核心概念 - actions state是存放数据的,mutations是同步更新数据 (便于监测数据的变化, 更新视图等, 方便于调试工具查看变化), actions则负责进行异步操作 说…

(三)k8s实战-资源调度

一、Label 和 Selector 1、标签&#xff08;Label&#xff09; 有两种设置方式&#xff1a;配置文件、kubectl命令 1&#xff09;配置文件 在各类资源的 metadata.labels 中进行配置 2&#xff09;kubectl 1&#xff09;临时创建 label kubectl label po <资源名称>…

云南森林火灾vr消防模拟安全演练系统训练消防员火灾和事故的适应和应对能力

据统计,每一场破坏性地震发生后,会引发次生的灾害,而火灾是其中之一。导致火灾的原因,推测是地震时使供电线路短路,引燃易燃物,火灾就随即发生。所以,在日常生活中,定期的消防演练还是非常必要的, VR消防&#xff0c;是VR公司深圳华锐视点利用VR虚拟现实技术&#xff0c;将VR和…

Java8新特性整理记录

1、list实体集合根据某个属性分组后求和 方法一&#xff1a; list.stream().collect(Collectors.groupingBy(e -> e.getId())).values().stream().map(d -> {DemoEntity sampleData d.get(0);sampleData.setPremium(d.stream().map(s -> new BigDecimal(s.getPrem…

Unity项目如何上传Gitee仓库

前言 最近Unity项目比较多&#xff0c;我都是把Unity项目上传到Gitee中去&#xff0c;GitHub的话我用的少&#xff0c;可能我还是更喜欢Gitee吧&#xff0c;毕竟Gitee仓库用起来更加方便&#xff0c;注意Unity项目上传时最佳的方式是把 Asste ProjectSetting 两个文件夹上传上…

CFC编程入门_【10分钟学会】

什么是CFC&#xff1a; 【差不多10分钟全学会】 CFC是图形化编程&#xff0c; 跟单片机的连线一样&#xff0c; 唯一的区别&#xff1a;功能块右侧是【只能输出】引脚。 只有左侧引脚可以输入输出。 有哪些控件&#xff1a; 指针&#xff1a;用于拖动功能块。 控制点&#xf…

<七> objectARX开发:创建自定义实体

1、介绍 在某些情况下,CAD中的实体对象无法满足需求,我们需要针对实际情况来设计并绘制自定义的实体,下面就用一个简单的例子来介绍一下自定义实体绘制。 实体形状:包括实体夹点和文字夹点拖动实现。 2、效果 3、创建自定义实体的步骤 新建一个从AcDbEntity继承的类,如C…

谷歌面试-扔鸡蛋

今天想跟大家分享一个有意思的面试题&#xff0c;这让我再一次感叹思维的奇妙&#xff0c;接下来我们一起看看吧~ 首先来看看题目&#xff1a; 你有2颗鸡蛋&#xff0c;需要以最少的尝试次数来判断在100层的高楼上&#xff0c;哪一层楼是鸡蛋的安全层。 换句话说&#xff0c…

(java) 进程调度

目录 进程 首先我们要了解一下什么是进程&#xff1f; 那如何管理进程&#xff1f; PCB中比较重要的属性 进程调度 为什么要进行进程调度&#xff1f; 状态 优先级 上下文 拓展介绍一下寄存器 记账信息 进程 首先我们要了解一下什么是进程&#xff1f; 简单来说…

mongodb聚合排序的一个巨坑

现象&#xff1a; mongodb cpu动不动要100%&#xff0c;如下图 分析原因&#xff1a; 查看慢日志发现&#xff0c;很多条这样的查询&#xff0c;一直未执行行完成&#xff0c;占用大量的CPU [{$match: {"tags.taskId": "64dae0a9deb52d2f9a1bd71e",grnty: …

全流程R语言Meta分析核心技术应用

Meta分析是针对某一科研问题&#xff0c;根据明确的搜索策略、选择筛选文献标准、采用严格的评价方法&#xff0c;对来源不同的研究成果进行收集、合并及定量统计分析的方法&#xff0c;最早出现于“循证医学”&#xff0c;现已广泛应用于农林生态&#xff0c;资源环境等方面。…

什么是静力水准仪?它用到哪些领域?

什么是静力水准仪 静力水准仪是测量两点间或多点间相对高程变化的仪器。由储液器、芯体和定制电路模块、保护罩等部件组成。沉降系统由多只同型号传感器组成&#xff0c;储液罐之间由通气管和通液管相连通&#xff0c;基准点置于一个稳定的水平基点&#xff0c;当测点相对于基…

【Qt学习】05:自定义封装界面类

OVERVIEW 自定义封装界面类1.QListWidget2.QTreeWidget3.QTableWidget4.StackedWidget5.Others6.自定义封装界面类-显示效果&#xff08;1&#xff09;添加设计师界面类&#xff08;2&#xff09;在ui中设计自定义界面&#xff08;3&#xff09;在需要使用的界面中添加&#xf…

TiCDC Canal-JSON 消息接收示例(Java 版)

1.引言 业务程序经常会通过各式各样的缓存来提升用户的访问速度。 由于存在缓存&#xff0c;在一些实时性要求较高的场景中&#xff0c;需要在数据变更的同时将数据缓存进行更新或删除。 如果数据本身由其他业务部门提供&#xff0c;就无法在写入的同时做缓存的一致性处理。…

小区物业业主管理信息系统设计的设计与实现(论文+源码)_kaic

摘 要 随着互联网的发展&#xff0c;网络技术的发展变得极其重要&#xff0c;所以依靠计算机处理业务成为了一种社会普遍的现状。管理方式也自然而然的向着现代化技术方向而改变&#xff0c;所以纯人工管理方式在越来越完善的现代化管理技术的比较之下也就显得过于繁琐&#x…

Linux vmstat命令

vmstat命令是一个可用于报告系统虚拟内存、进程、CPU活动和输入输出统计信息的工具。以下是vmstat命令的详细解释说明&#xff1a; 用法&#xff1a; vmstat [选项] [时间间隔] [重复次数]常用选项&#xff1a; -a&#xff1a;显示所有模式&#xff08;虚拟内存、进程和IO&am…

ReoGrid.NET集成到winfrom

ReoGrid一个支持excel操作的控件,支持集成到任何winfrom项目内。 先看效果图: 如何使用&#xff1a; 使用ReoGrid自带excel模版设计工具先设计一个模版,设计器如下&#xff1a; 具体例子看官方文档 代码示例如下&#xff1a; var sheet reoGridControl1.CurrentWorksheet; …

Unity光照相关

1. 光源类型 Unity支持多种类型的光源&#xff0c;包括&#xff1a; 1. 点光源&#xff08;Point Light&#xff09;&#xff1a;从一个点向四周发射光线&#xff0c;适用于需要突出物体的光源。 2. 平行光&#xff08;Directional Light&#xff09;&#xff1a;从无限远处…