Linux | c&cpp | Email | github | QQ群:425043908 关注本站

itarticle.cc

您现在的位置是:网站首页 -> 代码相关 文章内容

C语言‘\0’,‘0’,“0”,0的区别-itarticl.cc-IT技术类文章记录&分享

发布时间: 9年前代码相关 162人已围观返回

看来基础还是很重要的,基础不扎实就难以学好c语言,就别说写出高质量的c语言代码了。今天,我就被这个问题折磨的不行了,哈哈,不过现在终于明白了‘\0’ ,‘0’, “0” 之间的区别了。困惑和快乐与你分享!


首先比较一下‘\0’和‘0’的区别。有一个共同点就是它们都是字符,在c语言中,字符是按其所对应的ASCII码来存储的,一个字符占一个字节。请翻开你的ASCII字符集表吧,一般在你的C语言教材的附录上,没有的话网上查查哦。请看第一个ASCII码,对是0,对应的字符是(Null),其实就是‘\0’,即空字符。判断一个字符串是否结束的标志就是看是否遇到‘\0’,如果遇到‘\0’,则表示字符串结束。而字符‘0’对应的ASCII码是48,48对应的十六进制数就是0x30,通常我们在编程的时候,用字符转化为数字的时候经常要用到,比如要将‘8’转换为数字8,在语句中这样写就可以了,“ 8+‘0’”。这里的8就是数字。字符‘0’和数字0的区别:前者是字符常量,后者是整形常量,它们的含义和在计算机中的存储方式截然不同。但是字符常量可以像整数一样在程序中参与相关运算。例如:‘9’-3;。哈哈,是不是柳暗花明又一村啊。


接下来我们比较一下“0”和‘0’的区别。首先“0”是字符串常量,字符串常量是由一对双引号括起的字符序列。例如:“CHINA”,“I LOVE YOU”,“123”等都是合法的字符串常量。‘0’是字符常量,字符串常量和字符常量是不同的量。1:字符常量由单引号括起来;字符串常量由双引号括起来。2:字符常量只能是单个字符;字符串常量则可以含一个或多个字符。这里先介绍表达上的主要区别,在运用中还有存储空间的不同以及赋值方式的不同等等。


这里的memset(pStr,0,sizeof(*pStr)),这里相当于把段内存全部初始化为'\0'.这样写的字符串就会是C风格的字符串...另std::string里面申请字符串的的时候也会多申请一位,来兼容C风格的字符串....std::string更像是这符串数组

发布时间: 9年前代码相关162人已围观返回回到顶端

很赞哦! (1)

文章评论

  • 请先说点什么
    热门评论
    161人参与,0条评论

站点信息

  • 建站时间:2016-04-01
  • 文章统计:728条
  • 文章评论:82条
  • QQ群二维码:扫描二维码,互相交流