C语言之“字符”与“字符串”之间的区别解析
在C语言中,“字符”与“字符串”之间,是有区别的。这一篇文章中,我们将介绍一下,在C语言中的“字符”与“字符串”,它们之间的区别。
首先,一个很明显的区别是:
“字符”,使用单引号作为定界符,而“字符串”,是使用双引号作为定界符。
我们可以先写一个定义“字符”的程序代码段:
上述C语言程序中,第5行,就是定义了一个“字符”变量str,定义“字符”变量的时候,使用关键字“char”,从本质上来说,关键字“char”定义的也是一个整数,这个整数在内存中占据一个字节。与ASCII码表相对应。比如常用的ASCII码表的对应关系是:数字48表示字符'0';数字65表示字符'A';数字97表示字符'a'
在定义一个“字符”的时候,定界符要写成单引号。在屏幕上打印一个字符的时候,需要在printf函数中,使用“%c”这个占位符。
我们再来看一下,定义一个字符串的代码片段:
上述C语言程序中,第5行,是定义了一个“字符串”。使用的是char类型的数组格式。另外,在字符串常量两边的定界符中,使用的是双引号。
在屏幕上要打印一个字符串的时候,在printf函数中,使用的是“%s”这个占位符。与“字符”的“%c”这个占位符是不同的。
“字符”与“字符串”之间,除了定界符不同之外,还有一个区别是:
“字符”占据一个字节,但是“字符串”是占据多个字节。而且,在“字符串”的结尾处,自动被编译器加上了'\0'这个字符,在ASCII码中,'\0'表示的是一个空字符。
如果在定义一个字符串常量的时候,使用了单引号,程序就会报错。在定义字符串的时候,需要在变量名后面加上“中括号”,类似于定义“数组”时候的格式。
C语言之“字符”与“字符串”之间的区别解析的更多相关文章
- C语言中字符型和字符串型的区别?
C语言中只有字符型类型,没有字符串型类型.字符类型用一个带符号的8位二进制编码表示,其性质与int相同,只是只有一个字节.表示字符的ASCII编码使用其中的0~127,所以要明白字符类型(char)其 ...
- go语言基础之字符串类型 和 字符与字符串类型的区别
1.字符串类型 示例1: package main //必须有一个main包 import "fmt" func main() { var str1 string str1 = & ...
- C#中的流_字节_字符_字符串之间的相互转换
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.I ...
- java,数字,字符,字符串之间的转化
首先,先看一道编程题目: A除以B (20) 时间限制 1000 ms 内存限制 32768 KB 代码长度限制 100 KB 判断程序 Standard (来自 小小) 题目描述 本题要求计算A/B ...
- Pascal 语言中字符与字符串
[题目]输入一段文章(255个字符以内),求文章中单词的个数,相同单词只记一次,The 和 the 视作相同. [敲代码] //网友代码 var article,w:string; arr:array ...
- c语言实现字符指针(字符串)数组的排序
需求: "ff555d", "114ddd", "114dd","aaa", "aaab", &qu ...
- 单引号,双引号 和 heredoc 初始化php字符串之间的区别
php中的字符串指的是字符的序列,可以通过三种方式初始化:单引号.双引号和使用here document(heredoc) 形式. 一:单引号时 ①:需要转义的特殊字符:反斜杠和单引号. ②:因为ph ...
- Python: 在Unicode和普通字符串之间转换
Unicode字符串可以用多种方式编码为普通字符串, 依照你所选择的编码(encoding): <!-- Inject Script Filtered --> Toggle line nu ...
- Python——在Unicode和普通字符串之间转换
1.1. 问题 Problem You need to deal with data that doesn't fit in the ASCII character set. 你需要处理不适合用ASC ...
随机推荐
- Schnorr签名介绍
Schnorr签名介绍 来源 https://panzhibiao.com/2019/02/28/schnorr-sigature/ https://github.com/bitcoin/bitcoi ...
- 使用 Go 语言徒手撸一个负载均衡器
负载均衡器在 Web 架构中扮演着非常重要的角色,被用于为多个后端分发流量负载,提升服务的伸缩性.负载均衡器后面配置了多个服务,在某个服务发生故障时,负载均衡器可以很快地选择另一个可用的服务,所以整体 ...
- 48.vue-awesome-swipe使用
1.安装:npm install vue-awesome-swiper --save 2.局部引入: import "swiper/dist/css/swiper.css"; im ...
- ionic创建组件、页面或者过滤器
ionic可以直接 用命令来创建组件.页面或者过滤器. 在ionic项目根目录打开命令窗口.输入下列命令: ionic g page pageName //创建新页面 ionic g componen ...
- AOP的动态实现cglib和jdk
动态代理的两种实现以:cglib和jdk,spring的aop(切面)的实现原理就是采用的动态代理技术. 看完代码.动态代理的作用是什么: Proxy类的代码量被固定下来,不会因为业务的逐渐庞大而庞大 ...
- Django-ModelFrom中修改save后的字段值
在ModelForm提交中,保持原未修改字段的值,views中部分代码: project = Iredmail.objects.get(id=id) ssh_crt_name = project.ss ...
- 微服务spring-cloud 学习第一天
了解微服务 微服务架构风格是一种将单一应用程序开发为一组小型服务的方法,每个服务运行在自己的进程中,服务间通信采用轻量级通信机制(通常使用HTTP).这些服务围绕业务能力构建并且可通过自动部署 ...
- 【Iterm2】如何解决iterm2窗口自动隐藏的问题
一.问题描述 当我们使用Iterm2的Hotkey Windom功能时,通过快捷键唤起Iterm2窗口后,然后鼠标在iterm2窗口之外触发点击操作就会让 iterm2窗口自动隐藏.. 这样有时候会觉 ...
- CSS选择符总结(Selectors)
一.通配选择符(Universal Selector): 语法:* 说明:1.*表示通配符,表示所有的 2.格式:*{样式列表} 3.用于整个页 ...
- zabbix--CPU监控并告警
zabbix监控CPU超值则报警 由于默认没有 cpu 的使用率监控,需要添加一个监控项,通过 system.cpu.util[,,] 来进行配置 添加监控项 添加图形 添加触发器 展示图