c++ - c 中令人困惑的空值

标签 c++ c null

请解释以下有关 C 或 C++ 的内容:

  • 空指针

  • 空指针的内部表示

  • 空指针常量 - 0

  • NULL 宏

  • ASCII 空字符 (NUL)

  • 空字符串 ("")。

最佳答案

空指针是不指向任何对象的指针。

未指定内部表示,并且具体来说不必全部为零。

值 0 可以转换为空指针。

NULL 宏被定义为一个可以转换为空指针的值,在 C++ 中它通常只是 0 而在 C 中通常是 (void*)0 ,但如果实现决定的话也可以是其他值。

NUL 字符是值为 0'\0' 的字符。

字符串""只是一个空字符串。

关于c++ - c 中令人困惑的空值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6888793/

相关文章:

c++ - 有没有一种好方法可以让函数在不使用 IOStream 库的情况下写入控制台、文件或内存缓冲区?

c++ - 与 at() 或索引相比,为什么使用 C++ 迭代器会显着增加代码大小?

c - 奇怪的 while 循环。困惑

c - 使用 mingw32 在 Windows 上构建 glew 时 `DllMainCRTStartup@12' 的多个定义

android - 操作栏空指针异常

c++ - Qt 滚动条不会出现在自定义小部件上

c++ - fatal error RC1015

c - TCP 服务器-客户端在单次传输后断开连接

sql - 如何用文本替换空值?

javascript - C#中最短的空检查