数据结构与算法——第4章-字符串-串的定长顺序存储结构(4.2)

一 概述

1
2
1.串的定长顺序存储结构
2.示例代码

二 串的定长顺序存储结构

2.1 顺序存储结构的两种方式

1
2
3
4
5
6
7
我们知道,顺序存储结构(顺序表)的底层实现用的是数组,根据创建方式的不同,
数组又可分为静态数组和动态数组,因此顺序存储结构的具体实现其实有两种方式。

通常所说的数组都指的是静态数组,如 str[10],静态数组的长度是固定的。
与静态数组相对应的,还有动态数组,它使用 malloc 和 free 函数动态申请和释放空间,因此动态数组的长度是可变的。

串的定长顺序存储结构,可以简单地理解为采用 "固定长度的顺序存储结构" 来存储字符串,因此限定了其底层实现只能使用静态数组。

2.2 串的存储

1
2
3
4
5
使用定长顺序存储结构存储字符串时,需结合目标字符串的长度,预先申请足够大的内存空间。

例如,采用定长顺序存储结构存储 "data.biancheng.net",通过目测得知此字符串长度为 18,
因此我们申请的数组空间长度至少为 19(最后一位存储字符串的结束标志 '\0'),用 C 语言表示为:
char str[19] = "data.biancheng.net";

三 示例代码

下面这段 C 语言代码给大家完美地展示了使用定长顺序存储结构存储字符串:

1
2
3
4
5
6
7
#include<stdio.h>
int main()
{
char str[19]="data.biancheng.net";
printf("%s\n",str);
return 0;
}

四 参考

  • C语言中文网—串的定长顺序存储结构