5.8 为什么NULL能确保是0,但空(null)指针却不一定?

随便使用术语“null” 或“NULL” 时, 可能意味着以下一种或几种含义:

1、概念上的空指针, 问题5.1 定义的抽象语言概念。它使用以下的东西实现的……

2、空指针的内部(或运行期) 表达形式, 这可能并不是全零, 而且对不用的指针类型可能不一样。真正的值只有编译器开发者才关心。C 程序的作者永远看不到它们, 因为他们使用……

3.空指针常数, 这是一个常整数0 (参见问题5.2)。它通常隐藏在……

4、NULL 宏, 它被定义为0 (参见问题5.4)。最后转移我们注意力到……

5、ASCII 空字符(NUL), 它的确是全零, 但它和空指针除了在名称上以外, 没有任何必然关系; 而……

6、“空串” (null string), 它是内容为空的字符串("")。在C 中使用空串这个术语可能令人困惑, 因为空串包括空字符(’\0’),但不包括空指针, 这让我们绕了一个完整的圈子……

本文用短语“空指针” (“null pointer”, 小写) 表示第一种含义, 标识“0” 或短语“空指针常数” 表示含义3, 用大写NULL 表示含义4。

永不止步步 发表于01-14 10:23 浏览65535次
分享到:

已有0条评论

暂时还没有回复哟,快来抢沙发吧

添加一条新评论

只有登录用户才能评论,请先登录注册哦!

话题作者

永不止步步
金币:67410个|学分:308517个
立即注册
畅学电子网,带你进入电子开发学习世界
专业电子工程技术学习交流社区,加入畅学一起充电加油吧!

x

畅学电子网订阅号