文档章节

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

idreamo
 idreamo
发布于 2016/05/11 05:18
字数 687
阅读 13
收藏 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
粉丝 18
博文 139
码字总数 224743
作品 0
青岛
产品经理
私信 提问
加载中

评论(0)

C Primer Plus 第11章 字符串和字符串函数 11.3 字符串输出

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

idreamo
2016/08/19
27
0
小朋友学C语言(42):gets和fgets

一、gets()函数 原型:char gets(char str); 头文件:stdio.h 例1 (1)在Windows系统中的运行结果 (2)在Linux中用GCC进行编译 运行结果 例2 运行结果 在windows下输入: 输出 在windows下...

海天一树X
2018/11/22
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
833
0
算法第四版-文字版-下载地址-Robert Sedgewick

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

老莫offer
2018/11/11
0
0

没有更多内容

加载失败,请刷新页面

加载更多

刚哥谈架构 (五) 谈谈数据库架构

无论是构建什么样的应用,大都离不开数据。而在应用的架构设计中,如何设计数据库,使用什么类型的数据库,就是一个架构师必须了解的。所有的数据库的共同点都是以某种方式存储数据,以某种接...

naughty
28分钟前
42
0
明洞明

尼石露🀄️华 🀄️华尼石露 叶果城🀄️华 悟明夫妻国 🀄️国梦🀄️国 国🀄️国世界

悟明夫妻国世界
今天
117
0
OSChina 周一乱弹 —— 妹子,我家的猫发芽了,你要来我家看看吗

Osc乱弹歌单(2020)请戳(这里) 【今日歌曲】 @薛定谔的兄弟 :分享洛神有语创建的歌单「我喜欢的音乐」: 《Gypsophila》- MoreanP 手机党少年们想听歌,请使劲儿戳(这里) @蓝瞳 :愁,明...

小小编辑
今天
103
1
Bochs入门

一、Bochs简介 Bochs(读音同 Box)是完全使用软件模拟PC的开源x86模拟器,与使用虚拟化技术的虚拟机相比,虽然速度慢,但非常适合开发、调试操作系统。 二、配置操作系统 Bochs根据配置文件...

悠悠子佩
今天
57
0
什么是哈希表?

我们在这篇文章将要学习最有用的数据结构之一—哈希表,哈希表的英文叫 Hash Table,也可以称为散列表或者 Hash 表。 哈希表用的是数组支持按照下标随机访问数据的特性,所以哈希表其实就是数...

武培轩
今天
42
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部