文档章节

C Primer Plus 第4章 字符串和格式化输入输出--4.2 字符串简介

idreamo
 idreamo
发布于 2016/05/11 05:18
字数 687
阅读 10
收藏 0

4.2.1 char数组类型和空字符

字符串就是一个或多个字符的序列。

“Zing went the strings of my heart!”

双引号不是字符串的一部分,它只是通知编译器其中包含了一个字符串。

C没有为字符串定义专门的变量类型,而是把它存储在char数组中。

字符串中的字符存放在相邻的存储单元中,每个字符占用一个单元;而数组由相邻的存储单元组成,所以把字符串存储到数组中是很自然的选择。

数组中最后一个位置显示\0,这个字符就是空字符,C用它来标记字符串的结束。

空字符不是数字0;它是非打印字符,其ASCII的码的值为0.

该字符的存在意味着数组的单元数必须至少比要存储的字符数多1.

数组,就是同一类型的数据元素的有序序列。

使用字符串开始复杂起来了,必须创建一个数组,把字符串的字符逐个的放进数组中,还要记着在结尾添加一个\0.

4.2.2 使用字符串

%s告诉printf()要打印一个字符串。

请注意:scanf()开始读取输入以后,会在遇到的第一个空白字符空格(blank)、制表符(tab)、或者换行符(newline)处停止读取。

一般情况下,使用%s的scanf()只会把一个单词而不是把整个语句作为字符串读入。

C使用其他输入函数来处理一般字符串(例如gets()).

字符串和字符

字符串"x"和字符常量'x'不同。

其中一个区别是'x'属于基本类型char,而"x"则属于派生类型char数组。

第二个区别是"x"实际上是由两个字符('x'和空字符'\0')组成。

4.2.3 Strlen()函数

sizeof运算符,它以字节为单位给出数据的大小。

strlen()函数,是以字符为单位给出字符串的长度。

sizeof给出的数目比strlen()要大,是因为它把用来标志字符串结束的不可见的空字符也计算在内。

sizeof是否使用圆括号,取决于您是想获取一个类型的大小还是想获取某个具体量的大小。圆括号对于类型是必需的,而对于具体量是可选的。不过,在所有情况下都使用圆括号会更好。

strlen()和sizeof都是重要的编程工具。

 

 

© 著作权归作者所有

共有 人打赏支持
idreamo
粉丝 15
博文 139
码字总数 224743
作品 0
青岛
产品经理
私信 提问
C Primer Plus 第11章 字符串和字符串函数 11.3 字符串输出

11.3.1 puts( )函数 puts( )函数的使用很简单,只需要给出字符串参数的地址。程序清单11.8列出了输出字符串的多种方式。 程序清单11.8 put_out.c程序 输出如下: 注意,每个字符串都单行显示...

idreamo
2016/08/19
11
0
算法第四版-文字版-下载地址-Robert Sedgewick

下载地址:https://download.csdn.net/download/moshenglv/10777447 算法第四版,文字版,可复制,方便copy代码 目录: 第1章 基 础 ....................... . .............................

老莫offer
11/11
0
0
C Primer Plus(5版)第8章习题讲解(三)

小伙伴们,对C语言编程有疑问的,可以加微信交流:poo_poo或者扫描我的头像,验证时请注明是“知友” 第8章的复习题还剩下6、7、8三题没有讲解了。本文讲下第6、8题,第7题先不讲了。 1. 第6...

石家的鱼
2017/07/11
0
0
C Primer Plus 第11章 11.13 编程练习答案

1、设计并测试一个函数,可以从输入读取n个字符(包括空格、制表符和换行符),把结果存储在一个数组中,这个数组的地址通过参数来传递。 2、修改并测试练习1中的函数,使得可以在n个字符后,...

idreamo
2016/09/22
388
0
[编程语言]C陷阱与缺陷

内容摘要 作者以自己1985年在Bell实验室时发表的一篇论文为基础,结合自己的工作经验扩展成为这本对C程序员具有珍贵价值的经典著作。写作本书的出发点不是要批判C语言,而是要帮助C程序员绕过...

21gprs
2014/05/23
0
0

没有更多内容

加载失败,请刷新页面

加载更多

docker部署springboot项目

安装docker 菜鸟教程 springboot项目 maven依赖 <?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001......

yimingkeji
38分钟前
4
0
ios多个target

1.建立3个target,分别为heroone,heroone test,heroone dev;分别为正式环境,test环境,dev环境 2.注意取消掉autocreate以防止名字不对,分别以Duplicate的方式建立另外两个scheme 3.创建...

HeroHY
今天
5
0
php获取客户端IP

php获取客户端IP 首先先阅读关于IP真实性安全的文章:如何正確的取得使用者 IP? 「任何從客戶端取得的資料都是不可信任的!」 HTTP_CLIENT_IP头是有的,但未成标准,不一定服务器都实现。 ...

DrChenXX
昨天
0
0
. The valid characters are defined in RFC 7230 and RFC 问题

通过这里的回答,我们可以知道: Tomcat在 7.0.73, 8.0.39, 8.5.7 版本后,添加了对于http头的验证。 具体来说,就是添加了些规则去限制HTTP头的规范性 参考这里 具体来说: org.apache.tom...

west_coast
昨天
1
0
刷leetcode第704题-二分查找

今天双十一买的算法书到货了,路上刷到有人说的这个题,借(chao)鉴(xi)一下别人的思路,这个是C++标准库里面的经典方法,思路精巧,优雅好品味 int search(int* nums, int numsSize, in...

锟斤拷烫烫烫
昨天
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部