为什么c语言不对0和NULL做严格的区分?

news2024/11/19 11:25:59

在开始前刚好我有一些资料,是我根据网友给的问题精心整理了一份「c语言的资料从专业入门到高级教程」,

点个关注在评论区回复“888”之后私信回复“888”,全部无偿共享给大家!!!这个答案很简单:c语言不区分,是因为它不需要区分。

出现这个设计的原因也很简单:因为指针在设计时,本质就是存放了地址值的整型。所以,如果不是为了便于对地址进行便捷的间接寻址,甚至都不需要设计出指针这种类型及相应的配套语法。而NULL的本意就是一个非法的指针,根本就不打算让你正常的寻址使用的,所以只要固定一个特异值做标识就行了——而这个特异值自然就是个整型(强转为void*,只是一个让它可以隐式转为任何类型指针的语法小技巧而已)。

所以,在纯c的环境下,没有重载等需要编译器推断类型的时候,这个设计是毫无问题的。

只有到了后来的c++里面,有了重载之后,这才成为一个问题。68811b97bf2b87432946668d463cd73f.jpeg

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

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

相关文章

OpenHarmony 适配HDMI接口声卡

高清多媒体接口(High Definition Multimedia Interface,HDMI )是一种全数字化视频和声音发送接口,可以发送未压缩的音频及视频信号。HDMI可用于机顶盒、DVD播放机、个人计算机、电视、游戏主机、综合扩大机、数字音响与电视机等设…

巧用java8的stream流的.collect(Collectors.toMap(arg1,arg2))

最近公司接手了一个低代码二次开发平台的需求,需要连接多张表的数据然后展示到界面上。 按照java的sql思路,我们直接通过left join去关联表就行了,但是该低代码平台有对sql连表查询有限制,就是有些表它是存在一个domainKey的&…

什么是etf期权?Etf和股票的区别有什么?

今天期权懂带你了解什么是etf期权?Etf和股票的区别有什么?ETF期权是指一种在未来某特定时间,以特定价格买入或者卖出的交易开放性指数基金的权利和合约。 什么是etf期权? ETF期权是指与交易所交易基金相关的期权合约。ETF期权允许投资者在未…

节水“云”科普丨北京昌平VR节水云展馆精彩上线

2024年5月15日上午,由北京昌平区水务局主办的“推进城市节水,建设美丽昌平——2024年全国城市节约用水宣传周暨‘坚持节水优先 树立节水标杆’昌平节水在行动主题实践活动”隆重举办,活动期间,昌平区水务局应用VR虚拟现实技术创新…

我学会了用插件来辅助PostgreSQL,可拷,很刑!

作者:IT邦德 中国DBA联盟(ACDU)成员,10余年DBA工作经验, Oracle、PostgreSQL ACE CSDN博客专家及B站知名UP主,全网粉丝10万 擅长主流Oracle、MySQL、PG、高斯及Greenplum备份恢复, 安装迁移,性能优化、故障…

Flink 通过 paimon 关联维表,内存降为原来的1/4

你好,我是 shengjk1,多年大厂经验,努力构建 通俗易懂的、好玩的编程语言教程。 欢迎关注!你会有如下收益: 了解大厂经验拥有和大厂相匹配的技术等 希望看什么,评论或者私信告诉我! 文章目录 一…

数字化农业新时代:图扑农林牧综合监控平台

利用图扑自研 HT for Web GIS 产品,结合遥感技术,构建可交互式的农林牧数据分析平台。该平台围绕地块总览、播种分析、牛只管理、设备查询四个维度,对地区的全貌、农场、村集体分布以及相应的环境进行多样化的可视化展示和进行数据支持&#…

等保三级-MySQL 加固

1、身份鉴别 要求:建议身份密码登录,身份标识具有唯一性,身份鉴别信息具有复杂度要求,密码长度最少为8位,密码由数字、字母大小写、特殊符号组成、并设置定期更换,更换时间最长位90天 (1&#…

php反序列化学习(1)

1、php面向对象基本概念 类的定义: 类是定义了一件事物的抽象特征,它将数据的形式以及这些数据上的操作封装住在一起。(对象是具有类类型的变量,是对类的实例) 构成: 成员变量(属性&#xf…

《QT实用小工具·六十七》QTabWidget实现的炫酷标签工具栏

1、概述 源码放在文章末尾 该项目基于QTabWidget和QTabBar实现了灵活的标签工具栏,主要包含如下功能: 1、标签栏可以收起,可以展开 2、可以在标签栏中添加新的标签界面 3、可以从标签工具栏中把界面拖出来,也可以拖回去 4、关闭拖…

详解Java ThreadLocal

个人博客 详解Java ThreadLocal | iwts’s blog Java ThreadLocal ThreadLocal提供了线程内存储变量的能力,这些变量不同之处在于每一个线程读取的变量是对应的互相独立的。通过get和set方法就可以得到当前线程对应的值。 TreadLocal存储模型 ThreadLocal的静态…

vue3通过ElementPlus的tooltip组件实现自定义指令文字提示

vue3自定义指令实现tooltip文字提示,通过ElementPlus的tooltip组件 简介步骤1:定义指令tooltip步骤2:createTooltip函数步骤3:autoShowToolTip步骤4:注册指令步骤5:测试 简介 之前的项目中,有些…

基于springboot实现华府便利店信息管理系统项目【项目源码+论文说明】计算机毕业设计

基于springboot实现华府便利店信息管理系统演示 摘要 现代经济快节奏发展以及不断完善升级的信息化技术,让传统数据信息的管理升级为软件存储,归纳,集中处理数据信息的管理方式。本华府便利店信息管理系统就是在这样的大环境下诞生&#xff…

NXP i.MX8系列平台开发讲解 - 3.13 Linux 之Audio子系统(二)

专栏文章目录传送门:返回专栏目录 目录 1. Linux ALSA 内核框架 2. Linux ALSA 代码分析 2.1 声卡驱动初始化 2.2 声卡创建注册 2.3 PCM设备创建 3. ALSA ASoC 3.1 Machine 3.2 Platform 3.3 Codec 上一章节,对于Linux Audio子系统有了大概的了解…

做视频号小店遇到差评怎么处理?如何规避差

大家好,我是喷火龙。 大家在做店的时候应该都会遇到品退、中差评这些问题,这对我们的店铺影响还是非常大的,差评过多就会影响店铺的体验分,从而影响店铺的流量,还会间接的影响商品的转化率,如果太低的话&a…

@RequestBody注解

文章目录 RequestBody注解基本概念在postman里如何发送接收端带有RequestBody的请求? RequestBody注解 基本概念 扩展: http报文会包含四部分,第一部分是请求行,第二部分是请求头,第三部分是空行,第四部分…

示教编程操作QA

示教器的连接问题 Q1:示教器显示连接断开,该如何解决? A1:原因:示教器与控制器之间断开连接,需要调整控制器来解决该问题。解决方法1:重启控制器;解决方法2:将控制器与P…

Python: 使用pyotp实现OTP一次性密码验证

使用pyotp实现OTP一次性密码验证 OTP的基本原理 生成一个共享秘钥作为随机数的种子服务端通过种子计算出当前的密码客户端也通过相同的种子计算出当前的密码验证客户端生成的密码和服务端生成的密码是否匹配 服务端和客户端计算的方式一样 共享密钥 时间因子 算法 > 密…

XDebug配置几件教程,phpstorm实现http请求断点调试

写这篇的文章的初衷:网络上配置XDebug的文章有很多,XDebug也有官方的文档, PhpStorm也有官方的文档,为什么还要写那? 相信不少人,都有一种感觉,虽然教程很多,但是按教程走一遍,自己的确不能正常调试。 问题出在下面几个方面: 1. 对调试过程中,没有一定的认识,因此…

100个 Unity小游戏系列五 -Unity 抽奖游戏专题三老虎机游戏

一、演示效果 二、知识点讲解 2.1 布局 public void CreateItems(SlotsData[] slotsData){isInited false;slotsPrizeList new List<SlotsData>();for (int i 0; i < slotsData.Length; i){var item slotsData[i];slotsPrizeList.Add(item);}float bottomY -it…