什么是串
什么是串内容如下:
(1)串的长度:串所包含字符的个数称为该串的长度。
(2)空串(空的字符串):长度为零的串称为空串,它不包含任何字符。
(2)空格串(空白串):仅由一个或多个空格组成的串称为空白串。
注意:空串和空白串不同,如s1="";s2=""。s1中没有字符,是一个空串;而s2中有两个空格字符,它的长度等于2,它是由空格字符组成的串,一般称为空格串。
(4)子串:串中任意个连续字符组成的子序列称为该串的子串。
(5)主串:包含子串的串相应地称为主串。
(6)子串的序号(位置):通常将子串在主串中首次出现的序号定义为子串在主串中的序号(或位置)。
例如,设有串A和B分别是:A="这是字符串",B="是",则B是A的子串,A为主串。
其中B首次出现所对应的主串位置是2。因此,称B在A中的序号为2(因为汉字占两个字符位置)。再如,设A和B分别为:A="Thisisastring",B="is",则B是A的子串,B在A中出现了两次,其中首次出现对应的主串位置是2,因此称B在A中的序号(或位置)是2。
特别的,空串是任意串的子串,任意串是其自身的子串。
(7)串相等:只有当两个串的长度相等,并且各个对应位置的字符都相等时,才称两串相等。
(8)模式匹配:子串的定位运算又称为串的模式匹配,是一种求子串第一个字符在主串中序号的运算。被匹配的主串称为目标串,子串称为模式。
通常在程序中使用的串可分为串变量和串常量两种,串常量和整常数、实常数一样,在程序中只能被引用但不能改变其值,即只能读不能写。通常串常量是由直接量来表示的,例如语句“printf("溢出")”中“溢出”是直接量。串变量和其他类型的变量一样,其值可以改变。