数据结构c语言pdf2007,数据结构(C语言)严蔚敏 吴伟明 编著 07.pdf

第四章 串

第四章 串

4.1 串类型的定义

4.2 串的表示和实现

4.2.1 定长顺序存储表示

4.2.2 堆分配存储表示

4.2.3 串的块链存储表示

4.1 串类型的定义

一、串和基本概念

串(String)是零个或多个字符组成的有限序

列。一般记作S “a a a …a ” ,其中S 是串名,

1 2 3 n

双引号括起来的字符序列是串值;ai (1≦i≦n)

可以是字母、数字或其它字符;串中所包含的

字符个数称为该串的长度。长度为零的串称为

空串(Empty String),它不包含任何字符。

通常将仅由一个或多个空格组成的串称为空白

串(Blank String)

注意:空串和空白串的不同,例如“ ”和“”分别

表示长度为1的空白串和长度为0的空串。

串中任意个连续字符组成的子序列称为该串的子

串,包含子串的串相应地称为主串。通常将子

串在主串中首次出现时的该子串的首字符对应

的主串中的序号,定义为子串在主串中的序号

(或位置)。例如,设A和B分别为

A “This is a string” B “ is”

则B是A的子串,A为主串。B在A中出现了两次,

其中首次出现所对应的主串位置是3。因此,

称B在A中的序号(或位置)为3

特别地,空串是任意串的子串,任意串是

其自身的子串。

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

和串常量。串常量和整常数、实常数一样,在

程序中只能被引用但不能不能改变其值,即只能

读不能写。通常串常量是由直接量来表示的,

例如语句Error(“overflow”)中“overflow”是直

接量。但有的语言允许对串常量命名,以使程

序易读、易写。如C++中,可定义

const char path[] “dir/bin/appl”;

这里path是一个串常量,对它只能读不能写。串

变量和其它类型的变量一样,其取值是可以改

变的。

二、串的抽象数据定义

串的抽象数据类型定义台书P71

三、串的基本操作

对于串的基本操作,许多高级语言均提供了相

应的运算或标准库函数来实现。下面先介绍

几种在C语言中常用的串运算。

定义下列几个变量:

char s1[20]=“dirtreeformat”,s2[20]=“file.mem”;

char s3[30],*p;

int result;

(1) 求串长(length)

int strlen(char s); //求串的长度

例如:printf(“%d”,strlen(s1)); 输出13

(2 )串复制(copy)

char *strcpy(char to,char from);

该函数将串from复制到串to 中,并且返回一个

指向串to的开始处的指针。

例如:strcpy(s3,s1); //s3=“dirtreeformat”

(3)联接(concatenation)

char strcat(char to,char from)

该函数将串from复制到串to的末尾,并且返回

一个指向串to的开始处的指针。

例如:strcat(s3,”/”)

strcat(s3,s2); //s3=“dirtreeformat/file.mem”

(4) 串比较(compare)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值