严蔚敏《数据结构》(C语言版)【教材精讲+考研真题解析】讲义与视频课程【36小时高清视频】
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

4.1 串类型的定义

视频二维码(扫码观看)

一、串的基本概念

串(字符串):是零个或多个字符组成的有限序列。记作:S=‘a1a2…an’,其中S是串名,ai(1≤i≤n)可以是数字、字母或其他字符。

串值:单引号括起来的字符序列。

【注意】单引号本身不属于串,它的作用只是为了避免与变量名或数的常量混淆而已。

串长:串中所包含的字符个数。

空串(空的字符串):长度为零的串,它不包含任何字符。

空格串(空白串):构成串的所有字符都是空格的串。

【注意】空串和空白串的不同,一个是不含任何字符,一个是含字符,但只含空格字符。

子串:串中任意个连续字符组成的子序列称为该串的子串,包含子串的串相应地称为主串。

子串的序号:将子串在主串中首次出现时的该子串的首字符对应在主串中的序号,称为子串在主串中的序号(或位置)。

例如,设有串A和B分别是:A=‘这是不是字符串’,B=‘是’,则B是A的子串,A为主串。B在A中出现了两次,其中首次出现所对应的主串位置是2。因此,称B在A中的序号为2。

【注意】特别地,空串是任意串的子串,任意串是其自身的子串。

串相等:两个串的长度相等,且各个对应位置的字符都相同(串值相等)。

通常在程序中使用的串可分为两种:

串常量,和整常数、实常数一样,在程序中只能被引用但不能改变其值,即只能读不能写。

串变量,和其他类型的变量一样,其值是可以改变。

二、串的抽象数据类型定义