串的存储结构演示
串的存储主要有两种方式:
- 顺序存储:类似于数组,紧凑但需要预分配空间。
- 链式存储:为了提高存储密度,通常一个结点存储多个字符(块链)。
Step 1/4初始化空串:申请固定大小数组 (MAXSIZE),长度为 0。
1// 定长顺序存储2#define MAXSIZE 2553typedef struct {4 char ch[MAXSIZE]; // 静态数组5 int length; // 当前长度6} SString;struct SString
0
1
2
3
4
5
6
7
8
9
...
int length =
0
⚠️ 定长数组:无论存多少字符,都占用 MAXSIZE 空间
1. 单字符结点
typedef struct StringNode{
char ch; // 每个结点存1个字符
struct StringNode* next;
}StringNode,*String;
- 存储密度低:每个字符 1B,每个指针 4B。

2. 多字符结点
typedef struct StringNode {
char ch[4]; // 每个结点存多个字符
struct StringNode* next;
}StringNode,*next;
- 存储密度高于单字符结点。
