C语言 字符串前加L的意义 如:L“A”
转自:http://c.biancheng.net/cpp/html/1069.html
Unicode或者宽字符都没有改变char数据型态在C中的含义。char继续表示1个字节的储存空间,sizeof (char)继续返回1。理论上,C中1个字节可比8位长,但对我们大多数人来说,1个字节(也就是1个char)是8位宽。
C中的宽字符基于wchar_t数据型态,它在几个表头文件包括WCHAR.H中都有定义,像这样:
typedef unsigned short wchar_t ;
因此,wchar_t数据型态与无符号短整数型态相同,都是16位宽。
要定义包含一个宽字符的变量,可使用下面的语句:
wchar_t c = 'A' ;
变量c是一个双字节值0x0041,是Unicode表示的字母A。(然而,因为Intel微处理器从最小的字节开始储存多字节数值,该字节实际上是以0x41、0x00的顺序保存在内存中。如果检查Unicode文字的计算机储存应注意这一点。)
您还可定义指向宽字符串的指针:
wchar_t * p = L"Hello!" ;
注意紧接在第一个引号前面的大写字母L(代表「long」)。这将告诉编译器该字符串按宽字符保存-即每个字符占用2个字节。通常,指针变量p要占用4个字节,而字符串变量需要14个字节-每个字符需要2个字节,末尾的0还需要2个字节。
同样,您还可以用下面的语句定义宽字符数组:
static wchar_t a[] = L"Hello!" ;
该字符串也需要14个字节的储存空间,sizeof (a) 将返回14。索引数组a可得到单独的字符。a[1] 的值是宽字符「e」,或者0x0065。
虽然看上去更像一个印刷符号,但第一个引号前面的L非常重要,并且在两个符号之间必须没有空格。只有带有L,编译器才知道您需要将字符串存为每个字符2字节。稍后,当我们看到使用宽字符串而不是变量定义时,您还会遇到第一个引号前面的L。幸运的是,如果忘记了包含L,C编译器通常会给提出警告或错误信息。
您还可在单个字符文字前面使用L前缀,来表示它们应解释为宽字符。如下所示:
wchar_t c = L'A' ;
但通常这是不必要的,C编译器会对该字符进行扩充,使它成为宽字符。
转载于:https://www.cnblogs.com/iluzhiyong/p/4378147.html
C语言 字符串前加L的意义 如:L“A”相关推荐
- c语言字母意义,C语言 字符串前加L的意义 如:L“A”
转自:http://c.biancheng.net/cpp/html/1069.html Unicode或者宽字符都没有改变char数据型态在C中的含义.char继续表示1个字节的储存空间,sizeo ...
- c语言字符串前加l,【C】 30_C语言中的字符串
字符串的概念 字符串是有序字符的集合 字符串是程序中的基本元素之一 C 语言中没有字符串的概念 C 语言中通过特殊的字符数组模拟字符串 C 语言中的字符串是以 '\0' 结尾的字符数组 字符串与字符数 ...
- python字符串前加r、f、u、l 的区别
f-strings 是指以 f 或 F 开头的字符串,其中以 {} 包含的表达式会进行值替换.(目前支持python3.6版本) 下面看下 f-strings 的使用方法 基本使用(作用:替换值) & ...
- python 防止转义_python字符串前加r、f、u、l 的区别
f-strings 是指以f或F 开头的字符串,其中以 {}包含的表达式会进行值替换.(目前支持python3.6版本) 下面看下f-strings的使用方法 基本使用(作用:替换值) 在字符串前加r ...
- python字符串前面加f什么意思,浅析python字符串前加r、f、u、l 的区别
先给大家介绍下Python 字符串前面加u,r,b,f的含义(字符串前缀) 1.字符串前加 u 例:u"我是含有中文字符组成的字符串." 作用: 后面字符串以 Unicode 格式 ...
- python 字符串前加u r b的意义
摘自:https://www.cnblogs.com/liangmingshen/p/9274021.html 1.字符串前加 u 例:u"我是含有中文字符组成的字符串." 作用: ...
- python 字符串前加r b u f 含义
python 字符串前加r b u f 含义 文章目录: 一.字符串前加 `r` 二.字符串前加 `b` 三.字符串前加 `u` 四.字符串前加 `f` 五.Python3.x中字符串转换成字节类型 ...
- 数据库工作笔记016---SqlServer2016_日期处理_ntext和text区别_开启远程连接_查看系统COm组件_Browser服务无法启动_导出数据_字符串前加N
JAVA技术交流QQ群:170933152 sqlserver中的类型: ntext和text一样用来保存大量的文字数据,不过text用单字节保存数据 ,ntext固定用双字节保存数据. ntext保 ...
- Python 字符串前加r,b,u
目录 问题描述 1.字符串前加字母`u` 2.字符串前加字母`r` 3.字符串前加字母`b` 问题描述 在处理python代码的时候,经常可以看到字符串的前面有u, b, 或r字母,如下图所示: b' ...
最新文章
- Elasticsearch性能优化实战指南
- donsker定理_中心极限定理和Donsker定理
- jad 反编译java
- C++知识点28——使用C++标准库(再谈迭代器)
- vSphere DRS
- 测量一条反斜线的频率和质量n+m=9
- 【CyberSecurityLearning 62】文件包含
- JS键盘事件(非常详细)
- 前端学习(3117):react-hello-react的类中的方法
- JavaScript - 动态数据
- Hadoop学习之整体介绍及环境搭建
- 服务器多个网站开启quarz,GitHub - WuLex/QuartzSynchroData: 多个不同站点服务器数据同步到总服务器(数据中心)...
- 汇编指令push,mov,call,pop,leave,ret建立与释放栈的过程
- 【ASK】设置网卡启动遇到的事!
- Test for open live write
- Redis 对象系统
- QQ、MSN、淘包旺旺、Skype临时对话的html链接代码
- JavaWeb笔记(五)后端
- 吸烟行为检测系统(Python+YOLOv5深度学习模型+清新界面)
- Star CCM+ Interface踩坑——表面发射率
热门文章
- 【R】【BiocManager::install】R语言装包
- 实时获取ccd图像_薄膜瑕疵在线检测系统0.1mm检测精度_实时在线检测
- go 函数参数nil_深入理解 Go-Defer的机制
- matlab高斯消去,高斯消去、追赶法 matlab
- php数组转字符串 join,jQuery中将数组转换成字符串join()和push()使用
- Django搭建个人博客:渲染Markdown文章目录
- linux集群-keepalived介绍-用keepalived配置高可用集群
- 无偏方差为什么除以n-1
- Windows Server 2016 + Exchange 2016 +Office365混合部署(四)
- 将Unreal4打包后的工程嵌入到Qt或者桌面中