欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 房产 > 家装 > C语言中NUL和NULL、‘\0‘之间的关系

C语言中NUL和NULL、‘\0‘之间的关系

2025/2/5 11:49:15 来源:https://blog.csdn.net/m0_68465947/article/details/145136591  浏览:    关键词:C语言中NUL和NULL、‘\0‘之间的关系
  • '\0'NUL 字符,它是一个字符常量,其 ASCII 值为 0。这个字符用于标记 C 风格字符串的结尾。

  • NULL 是一个宏定义,通常被定义为整数常量 0 或 (void *)0,用来表示空指针。它用于指针操作,表示该指针不指向任何有效的内存地址。

虽然 '\0'NULL 在内部都可能表现为数值 0,但它们的应用场景和意义是不同的:

  1. '\0' (NUL 字符):用于字符串处理,作为字符串的终止符。
  2. NULL:用于指针操作,表示空指针。

示例

#include <stdio.h>int main() {// NUL 字符 '\0' 用于字符串结束char str[] = "hello";str[5] = '\0'; // 实际上这是多余的,因为 "hello" 已经包含 '\0'printf("String: %s\n", str); // 输出字符串直到遇到 '\0'// NULL 用于指针初始化或比较int *ptr = NULL;if (ptr == NULL) {printf("Pointer is null.\n");}return 0;
}

在这个例子中:

  • str 是一个以 \0 结尾的字符串。
  • ptr 是一个被初始化为 NULL 的指针,表示它当前不指向任何有效内存地址。

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com