网站首页 > 技术教程 正文
单个字符(一般被''包围)和单个字符的字符串(一般被'包围)看起来很像,实则可能天差地别。脚本语言可以把任何字面量看成字符串,它的处理更简单优雅,对于编译型语言,程序员必然要面对差异。
字符类型用什么形式表示?
字符类型和普通整型、标识符不同,它必须用特别的形式以区分开。
- 单引号
C/ObjC/C++/Java/C#
例如'ab'是不合法的。
- 单引号或者双引号
Python/Shell/SQL/JS/PHP/Fortran
字符和字符串单引号还是双引号?
- C/C++单个字符char类型本质就是整型,单个字符的字符串代表指针或者地址,指向此字符串。
- Java/C#延续C/C++的精神,只是字符串被当成引用类型(本质还是地址)。
- Python对于单引号'和双引号"包裹的字符看成一样,被当做字符串处理。
- Shell脚本单引号和双引号都代表字符串,但单引号会完全当原本的字符串,双引号内部的变量和命令会被展开。
- SQL语言不区分单引号和双引号。
- JavaScript对于字符串类型,不区分单引号和双引号。
- PHP默认可以用双引号或单引号包裹字符串,为了方便,双引号里面包含单引号字符不需要转义;单引号包裹字符串,内部的任何字符原文输出,注意,内部字符串还包含单引号就必须转义。
- 更为古老的Fortran语言,字符串用单引号和双引号包起来是相同含义,字符类型其实是字符串长度为1的实现:CHARACTER(LEN=1).
character(2) :: str = "ab"和character(2) :: str = 'ab'都代表字符串ab.
Fortran还可以用nHxxxx格式表达字符串,例如str = 6HHello代表字符串"Hello".
字符的输出形式
- C/ObjC/C++可以用字符也可以用整数展示,分别对应%c, %d.
'a'和"a"的区别
- 在单引号表示字符,双引号标识字符串的语言中,二者是截然不同的类型。
- 假设语言兼容ASCII码,C/ObjC/C++ 'a'仅仅是单字节字符,"a"包含字符'a'和'\0'两个字符。
- 对于单引号和双引号功能一样的语言,二者没区别。
- C语言 printf('a') 的结果是未知的,因为'a'是个整数,而非字符串地址。
多个字符的字符类型
- 早期一些C语言编译器允许形如 '123' 这种的字符定义,实际上的数值可能是第一个字符,或者最后一个字符。但这些都不重要,不要试图在当今的C编译器写上面的代码。
若文章对您有帮助,欢迎关注。助您在编程路上越走越好!
微风不燥,阳光正好,你就像风一样经过这里,愿你停留的片刻温暖舒心。
我是程序员小迷(致力于C、C++、Java、Kotlin、Android、iOS、Shell、JavaScript、TypeScript、Python等编程技术的技巧经验分享),若作品对您有帮助,请关注、分享、点赞、收藏、在看、喜欢,您的支持是我们为您提供帮助的最大动力。
猜你喜欢
- 2024-11-13 数据结构——第4章-串、数组和广义表
- 2024-11-13 软件开发究竟难在哪?(软件开发越来越难做)
- 2024-11-13 PHP是否越来越不受欢迎?(php没人用了)
- 2024-11-13 如何快速申请软件著作权(申请软件著作权需要什么资料)
- 2024-11-13 这个开源项目用了7年,整理了全网经典的编程书籍
- 2024-11-13 变量初始化你真的懂吗(变量初始化你真的懂吗什么意思)
- 2024-11-13 ubuntu 20.04安装gfortran gcc(ubuntu安装gcc5.4)
- 2024-11-13 5年程序员总结—这几个C语言问题超纲了,小白勿进
- 2024-11-13 Python术语对照表(上)(python 术语)
- 2024-11-13 蝌学荐书|菲尔兹奖得主陶哲轩15岁时写的数学思维入门书,凭什么能畅销5万册?
你 发表评论:
欢迎- 最近发表
-
- linux日志文件的管理、备份及日志服务器的搭建
- Linux下挂载windows的共享目录操作方法
- Linux系统中的备份文件命令(linux系统中的备份文件命令有哪些)
- 麒麟KYLINOS|通过不同方法设置用户访问文件及目录权限
- 「Linux笔记」系统目录结构(linux目录的结构及含义)
- linux中修改归属权chown命令和chgrp命令
- 工作日报 2021.10.27 Android-SEAndroid权限问题指南
- Windows和Linux环境下,修改Ollama的模型默认保存路径
- 如何强制用户在 Linux 上下次登录时更改密码?
- 如何删除Linux文件夹中除某些扩展名之外的所有文件?
- 标签列表
-
- 下划线是什么 (87)
- 精美网站 (58)
- qq登录界面 (90)
- nginx 命令 (82)
- nginx .http (73)
- nginx lua (70)
- nginx 重定向 (68)
- Nginx超时 (65)
- nginx 监控 (57)
- odbc (59)
- rar密码破解工具 (62)
- annotation (71)
- 红黑树 (57)
- 智力题 (62)
- php空间申请 (61)
- 按键精灵 注册码 (69)
- 软件测试报告 (59)
- ntcreatefile (64)
- 闪动文字 (56)
- guid (66)
- abap (63)
- mpeg 2 (65)
- column (63)
- dreamweaver教程 (57)
- excel行列转换 (56)
本文暂时没有评论,来添加一个吧(●'◡'●)