C语言中NULL究竟是不是0 等问题?-c语言里面的null
C语言空指针是NULL,NULL的值不需要是0。但C++空指针必须是0值。
C++作者为了支持模版泛型编程,强行规定所有类型都必须有一个0值,而且规定了指针0值就是空指针。是的,C++中不应该使用NULL,应该使用0。

0值确实是0值,但0值也是有类型的,0指针,有0整数。而在具体题主所说的地方需要一个指针,所以那个地方的0就是指针。0指针理论上代表指向地址0的指针。
当然,C语言没有这么规定,没有规定NULL的具体值,所以可以使用任意值表示NULL。
对于同时支持C++的编译器,为了让C++与C语言代码兼容,往往会将NULL定义为0值,这样才能兼容C++规定空指针必须为0值的规定。
对于一些纯C编译器来说,有可能会设定NULL为一个非零的任意值,比如-1或者0xffffffff之类都有可能。
至于0值能不能访问,这也是平台相关的。对于x86平台来说0地址恰好是个不能访问的地址,所以空指针设定为0恰好就不能访问,这样也还算方便。不过对于其它平台而言,0值也可以是能访问的地址。
C语言中,NULL是个常量,该指针可以是任意值,对NULL指针的访问会造成什么结果,大概是未定义的。
而C++语言中NULL被定义为0,所以访问NULL等同于访问0地址。
“C语言中NULL究竟是不是0 等问题?-c语言里面的null” 的相关文章
直播吧10月5日讯《每日电讯报》报道,利物浦近期曾提出申请,希望将目前定于当地时间10月16日中午12点30分(北京时间19点30分)开场的联赛推迟至晚上7点45开打,以让队内的巴西国脚能够有机会参赛,但该申...
【江西赣县讯】近日,江西省赣县地区突降罕见冰雹,给当地带来严重灾害。据初步统计,冰雹袭击导致多地农作物受灾、房屋受损,当地政府和救援机构迅速行动,展开救援工作。据了解,冰雹袭击发生在当地时间下午,持续时间长达数十分钟。冰雹直径最大达到2厘米,持续半小时,密度极大,给当地带来了严重的灾害。不少地区的农...
快递现在是很常见了因为现在网购太发达了,甚至可以说网购改变了现在的商业模式。而为网购源源不断的提供动力的,自然就是快递了。如果没有快递,网购之后货物送不上门,这也是个事。但有了快递之后,这些问题都迎刃而解了。快递哪个公司最快便宜?一起看看下面的介绍。 一、常用快递的介绍...
原标题:物业第三方南京诚平—江苏省物业管理条例之“前期物业管理” 小区物业选聘—南京诚平物业服务评估第三方,“小区治理议事厅” 第四章 前期物业管理 第三十一条 新建住宅物业实行前期物业管理。 在业主、业主大会选聘物业服务企业之前,前期物业管理由建设单位...
FPC柔性线路板是一种广泛应用于电子产品中的印刷电路板。它具有良好的导电性、柔韧性和可靠性,在消费电子、汽车电子、医疗电子等领域得到广泛应用。 FPC柔性线路板的制造工艺包括沉金工艺和OSP工艺。这两种工艺都是用于提高FPC柔性线路板的质量和性能的。下面云恒小编将分别介绍这两种工艺的原理和特点...
酷热热热难耐时,就要开启夏季畅饮,你想到了哪些饮品呢? 带走烦热,增加愉悦心情,就要酷爽畅饮。 冰镇清爽山楂果汁,冰镇后喝一口简直清爽缓解燥热,就是喜欢这个冰镇山楂饮。从味蕾开始,山楂清爽口味...