请教0与0x00的区别

leopardaa521 2009-12-17 11:48:01
最近工作中发现一些老手们喜欢用0x00
例如:
memset(pChar, 0x00, 100);
并且还不是一个人这么写,很多老手们都这样写

请问这有什么来历吗?还是0x00比0好看? :)
...全文
7449 30 打赏 收藏 转发到动态 举报
写回复
用AI写文章
30 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhongguoren666 2009-12-19
  • 打赏
  • 举报
回复
没有不同,都int型,只是进制不同而已。
不动如岳 2009-12-19
  • 打赏
  • 举报
回复
学习学习再学习
chenhl0201 2009-12-19
  • 打赏
  • 举报
回复
节约内存,提高效率
leopardaa521 2009-12-19
  • 打赏
  • 举报
回复
呵呵,我亲自去问了下老鸟,
0x00只是为了强调就是数字0,就是为了ASCII码转换的数字0!不是字符‘0’!
避免手误将数字0写作字符‘0’,那就达不到用‘\0’清空字符串的目的了
尘雨 2009-12-18
  • 打赏
  • 举报
回复
嗯,刚看了下memset的反汇编,编译后,两者一样。我的想法是武断了
leer168 2009-12-18
  • 打赏
  • 举报
回复
到底哪个对啊。。。。。
lhy2199 2009-12-18
  • 打赏
  • 举报
回复 1
[Quote=引用 1 楼 vieri_ch 的回复:]
0x00,一个字节
0,根据编译器,默认作为int,4或者8个字节
[/Quote]

同意
mr_LuoWei2009 2009-12-18
  • 打赏
  • 举报
回复
0x00就是VC常用的NULL,即内存清空的意思,如果是字符串类型,在遇到0x00就将截断,其后的字节不会再作为字符串的内容,而0是一个int整型数,在内存中占用4个字节,内存中十六进制表示为0x00 00 00 30
失落的凡凡 2009-12-18
  • 打赏
  • 举报
回复
0x的前缀表示16进制 0x00和0的效果是完全一样的。这样写的目的大慨是为了便于阅读。但我觉得这样写反而没有直接用0好,因为memset时值是以1字节为单位的,而0x00的字面意义是一个32位的0。这有点文不对题。

如果是给指针赋值0x00看上去比0更像一个地址。但我觉得还是用0来表示空指针更好。因为用0来表示空指针是C++的一个约定,并非这个指针真的指向地址0x00。当然许多人还是推荐NULL的写法 ,这是个从C流传下来的写法。
loveav2010 2009-12-18
  • 打赏
  • 举报
回复
只知道0x00代表16进制,跟硬件打交道会用的比较多。。。
laimin2009 2009-12-18
  • 打赏
  • 举报
回复
十进制和十六进制的区别嘛!汇编语言中经常用到啊!
o_yale_o 2009-12-18
  • 打赏
  • 举报
回复
就是让人看得明了点(要初始化N个“字节”)
bragi523 2009-12-18
  • 打赏
  • 举报
回复
一种习惯而已
至善者善之敌 2009-12-18
  • 打赏
  • 举报
回复
0x 表示16进制,和十进制0无任何差别!
lencho_1984 2009-12-18
  • 打赏
  • 举报
回复
有这么大区别吗
zhaozidong86 2009-12-18
  • 打赏
  • 举报
回复 1
学习
sandyandy 2009-12-18
  • 打赏
  • 举报
回复
没区别, 一样的, 好看点
用户 昵称 2009-12-18
  • 打赏
  • 举报
回复
没任何差别,所谓高手,其实楼主就是看是前人的代码,在大多数的程序中,最常用到的就是各种无符号16进制数,经常写的人基本上都是写成0x00,既不写成0x0,也不写成0,这样写主要是作者自己感觉美观,正规。
mic_lee2000 2009-12-18
  • 打赏
  • 举报
回复
没区别,一个是十进制表示法,另一个是十六进制表示法。 个人习惯问题,Windows 的NULL定义看过吗?

#define NULL 0 就是用十进制的表示法,也没啥高手不高手的区别。
gavinma 2009-12-18
  • 打赏
  • 举报
回复
好看吧,不晓得有啥特殊用途,看看有没有兄弟知道
加载更多回复(10)

16,550

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Creator Browser
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧