字符 '0' 和 '\0' 及整数 0 的区别
字符 '0' 和 '\0' 及整数 0 的区别
字符型变量用于存储一个单一字符,在 C 语言中用 char 表示,其中每个字符变量都会占用 1 个字节(8 位二进制数)。
整型 int 在内存中占用空间为四个字节(32位二进制数)。
字符 '0':char c = '0'; 它的 ASCII 码实际上是 48,内存中存放表示:00110000。
字符 '\0': ASCII 码为 0,表示一个字符串结束的标志。这是转义字符(整体视为一个字符)。由于内存中存储字符,依然是存储的是对应字符集的字符编码,所以内存中的表现形式为 00000000。
整数 0 : 内存中表示为 00000000 00000000 00000000 00000000,虽然都是 0,但是跟上面字符 '\0' 存储占用长度是不一样的。
下面用代码简单测试了下,总结出:字符0不等于字符串0,不等于整型0。字符\0等于整型0
#include <stdio.h>
int main(void)
{
int i=0;
char c1='0';
char c2='\0';
char* s="0";
printf("%d\n",i);
printf("%d\n",c1);
printf("%d\n",c2);
printf("%d\n",s);
//相等吗
printf("%d,%d,%d\n",i==c1,i==c2,i==s);
return 0;
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具