C语言 NULL 和 0 区别 - C语言零基础入门教程
目录
- 一.关于 NULL 定义
- 二.NULL 和 0 区别
- 三.猜你喜欢
零基础 C/C++ 学习路线推荐 : C/C++ 学习目录 >> C 语言基础入门
一.关于 NULL 定义
NULL 在 stdio.h 中定义如下:
#if !defined(NULL) && defined(__NEEDS_NULL)
#ifdef __cplusplus
#define NULL 0
#else
#define NULL ((void *)0)
#endif
#endif
二.NULL 和 0 区别
在 C 语言中,NULL 和 0 的值都是一样的,但是为了目的和用途及容易识别的原因,NULL 用于指针和对象,0 用于数值;
#include<stdo.h>
int main()
{int *p=NULL;printf("%s",p);}/*
输出:
0x00000000
*/
由上面代码可以看出:NULL 在实际底层调用中就是 0 ;
在不同的系统中,NULL 并非总是和 0 等同,NULL 仅仅代表空值,也就是指向一个不被使用的地址,在大多数系统中,都将 0 作为不被使用的地址,所以就有了类似这样的定义
#define NULL 0
但并非总是如此,也有些系统不将 0 地址作为 NULL ,而是用其他的地址,所以说,千万别将 NULL 和 0 等价起来,特别是在一些跨平台的代码中,这更是将给你带来灾难。
三.猜你喜欢
- C 语言 数组下标越界和内存溢出区别
- C 语言 使用指针遍历数组
- C 语言 指针和数组区别
- C 语言 指针数组和数组指针区别
- C 语言 野指针
- C 语言 函数值传递和址传递
- C 语言 函数不定长参数
- C 语言 函数指针
- C 语言 指针函数
- C 语言 回调函数 callback
- C 语言 #pragma once
- C 语言 #include <> 与 #include “” 区别
- C 语言 const 修饰函数参数
- C 语言 const 和 define 区别
- C 语言 #运算符
- C 语言 ##运算符
- C 语言 __VA_ARGS__
- C 语言 ##__VA_ARGS__
- C 语言 函数不定长参数 ##__VA_ARGS__经典案例
- C 语言 va_start 宏
- C 语言 va_end 宏
- C 语言 va_arg 宏
- C 语言 vprintf 函数
- C 语言 va_start / va_end / va_arg 自定义 printf 函数
- C 语言 main 函数
- C 语言 main 函数参数 main(int argc, char *argv[])
- C 语言 exit 函数
- C 语言 abort 函数
- C 语言 assert 函数
- C 语言 NULL 和 0 区别
未经允许不得转载:猿说编程 » C 语言 NULL 和 0 区别
C语言 NULL 和 0 区别 - C语言零基础入门教程相关推荐
- C语言 const 修饰函数参数 - C语言零基础入门教程
C语言 const 修饰函数参数 - C语言零基础入门教程 目录 一.const 简介 1.const 修饰变量 2.const 修饰指针 3.const 修饰在函数名前面 4.const 修饰在函数 ...
- 0基础能学漫画么?漫画零基础入门教程!
漫画零基础入门教程!很多人都喜欢看动漫,同时也会幻想成为动漫里的主角,与此同时也会诞生学漫画的想法.不论是你真的想学习漫画,又或出于个人爱好,或职业需要,或为了具备一项自己喜欢的看家本领.我们都要先清 ...
- C语言 const 和 define 区别 - C语言零基础入门教程
目录 一.const 使用 1.const 修饰变量 2.const 修饰指针 3.const 修饰在函数名前面 4.const 修饰在函数名后面 5.const 修饰函数参数 二.define 使用 ...
- C语言 #include <> 与 #include “” 区别 - C语言零基础入门教程
目录 一.什么是头文件 二.#include <> 三.#include "" 四.#include <> 与 #include "" ...
- C语言 typedef 和 define 区别 - C语言零基础入门教程
目录 一.typedef 简介 1.typedef 简化复杂的类型声明 A.定义普通变量 B.定义函数指针 C.定义结构体 2.定义与平台无关的类型 二.define 简介 三.typedef 和 d ...
- C语言 函数指针和指针函数区别 - C语言零基础入门教程
目录 一.函数指针和指针函数声明的区别 1.函数指针 2.指针函数 二.函数指针和指针函数调用的区别 1.函数指针的调用 2.指针函数的调用 三.猜你喜欢 零基础 Python 学习路线推荐 : C/ ...
- C语言 空指针 NULL - C语言零基础入门教程
目录 一.指针简介 二.空指针 NULL 三.关于 NULL 和 0 四.猜你喜欢 零基础 C/C++ 学习路线推荐 : C/C++ 学习目录 >> C 语言基础入门 一.指针简介 在前面 ...
- C语言 vprintf 函数和 printf 函数区别 - C语言零基础入门教程
目录 一.vprintf 函数和 printf 函数声明简介 1.printf 函数声明 2.vprintf 函数声明 二.vprintf 函数和 printf 函数使用 三.猜你喜欢 零基础 C/C ...
- C语言 全局变量和局部变量区别 - C语言零基础入门教程
目录 一.全局变量和局部变量简介 1.全局变量简介 2.局部变量简介 二.全局变量和局部变量注意事项 三.猜你喜欢 零基础 C/C++ 学习路线推荐 : C/C++ 学习目录 >> C 语 ...
最新文章
- 全球AI技术开放日系列之(七):走进阿里业务中台
- MyBatis源码骨架分析
- 远程断开远程桌面会话之方法
- Google与Binomial合作开源Basis Universal GPU纹理编解码器
- 数据结构--线性表顺序存储(顺序表)
- python str translate,str.translate() --文本过滤和处理
- 12.history的用法
- 站怎么点都是一样_老鼠被卡在轮胎里,像是被点了穴道一样:这可怎么办才好?...
- 60-100-040-使用-DataSource-介绍
- python自加1_使用Python如何让里面的某个参数每调用一次程序就自加1
- jquery基础选择器和层次选择器
- 卡方检验2-python代码实现
- itx机箱尺寸_讲解 ATX M-ATX ITX 各种主板尺寸
- Scrapy框架的基本组成及功能使用
- 微信小程序官方界面UI设计秘籍
- 【无线芯片解读】2.4G专题:(SI24R1简版)Ci24R1
- AXD 调试经验,使用及问题
- CTF ics-04
- Javascript 与 或 非 符号
- 【机器人】基于指数积的机械臂正运动学算法
热门文章
- 3+1保障:高可用系统稳定性是如何炼成的?
- 赛题解析|初赛赛道三:服务网格控制面分治体系构建
- X-Pack Spark归档POLARDB数据做分析
- JetBrains发布两项重要更新:基于IDE的远程开发解决方案、轻量级编辑器Fleet
- 30岁,真的是程序员迈不过去的坎吗?
- TigerGraph持续产品创新,发布最新的“全民图”版本
- 阿里云PolarDB重大更新:两大技术突破,传统数据库一键迁移上云
- apache 统计404日志_Apache监控与调优(四)Apachetop监控
- java变位词_GoLang 字符串变位词
- store下拉框同步_关于选择主下拉框后~后面的下拉框跟着同步一起变化的问题~~...