566 字
3 分钟
String

#

字符串简称串,计算机上非数值处理的对象基本都是字符串。通常用的搜索引擎、文本编辑程序、问答系统和自然语言翻译等都是以字符串作为处理对象。串是由零个或多个字符组成的有限序列,一般记为 S = 'a1a2a3……an',其中 S 是串名,单引号内的括起来的字符序列是串的值,其中 ai 可以是字母、数字或者其他字符;串中字符的个数称为串的长度,为 0 时是空串。串中任意多个连续的字符组成的子序列称为该串的子串,包含子串的串称为主串。某个字符在串中的序号称为该字符在串中的位置。子串在主串中的位置以子串在主串的第一个字符位置来表示,当两个串的长度相等且每个对应对应位置的元素都相等时,称这两个串是相等的。由一个或者多个空格组成的串为空格串,其长度为串中空格字符的个数。

串的存储结构#

定长顺序存储#

类似于线性表的顺序存储结构,文用一组地址连续的存储单元存储串值的字符序列,因为每个元素都是定长的,所以当串的实际长度长过了 MaxSize ,超过预定义长度的串将被舍去,称为截断。

堆分配存储#

堆分配存储仍然以一组地址连续的存储单元进行存放,但是存储空间是在程序执行过程中动态分配的。

块链存储#

类似于线性表的链式存储结构,由于串每个元素只有一个字符,在具体的实现,每个链表结点可以存放一个字符,也可以存放多个字符,这样每个结点就可以被称为块,整个链表被称为块链结构。

串的基本操作#

  • StrAssign:赋值操作。
  • StrCopy:赋值操作。
  • StrEmpty:判空操作。
  • StrCompare:比较操作。
  • StrLength:求表长。
  • SubString:求子串。
  • Concat:串连接。
  • Index:定位串出现的位置。
  • ClearString:清空串。
  • DestroyString:销毁串。
String
https://songbaicheng.cc.cd/posts/string/
作者
宋柏成
发布于
2026-06-05
许可协议
CC BY-NC-SA 4.0