主题:问个小问题
shujujiegou01
[专家分:1070] 发布于 2006-09-12 12:55:00
wchar_t * pw = L"Hello!" ;
怎么为什么是十六位?
回复列表 (共2个回复)
沙发
win32fan [专家分:60] 发布于 2006-09-12 22:50:00
我的解释:
C语言中char型字符长度为8位,一般情况下字符串中每个字符也是占8位。而wchar_t是“宽字符”类型,每个字符占16位。
如没有特别指示,"Hello!"中每一个字符占8位,整个字符串占7个字节。如果使用了wchar_t *型指针,需要在"Hello!"前加个L指示一个字符用16位空间来存贮,整个"Hello!"共占用14个字节空间,否则寻址时就会出错。
板凳
linshubiao [专家分:930] 发布于 2006-09-18 12:21:00
wchar_t 就是占16位的宽字符呀。
我来回复