9-1 PString库 分数 45 作者 翁恺 单位 浙江大学 字符串是另一种字符串实现形式。它也采用char数组来保存字符串中的字符,但是最后一个字符后面没有结尾的'\0'。它使用另一个int类型的变量来表示字符串中的字符的个数。 请实现一个pstring库,其中的函数的原型见pstring.h。 其中, typedef struct { int length; char content[]; } PString; 这个结构的content是灵活结构成员,为了给它分配空间,必须使用malloc()函数,如: string *str = (string*)malloc(sizeof(int)+32); 就实际上为*str里的content分配了32个字节 在你提交的目录中,除了库的源代码,还需要一个Makefile,用以产生pstring库文件并放在上层目录。 执行 ./main.sh 运行编译和查看测试分数。
时间: 2024-04-09 10:27:59 浏览: 176
SQL中字符串中包含字符的判断方法
5星 · 资源好评率100%
这是一个关于实现PString库的问题,作者是翁恺,单位是浙江大学。PString是一种字符串实现形式,与普通字符串不同的是,它不以'\0'结尾,而是使用一个int类型的变量来表示字符的个数。你需要实现一个PString库,其中的函数原型在pstring.h中定义。
PString的结构体定义如下:
```c
typedef struct {
int length;
char content[];
} PString;
```
为了给content分配空间,你需要使用malloc()函数,例如:`PString *str = (PString*)malloc(sizeof(int) + 32);` 这样就为content分配了32个字节的空间。
除了库的源代码,你还需要提供一个Makefile,用于生成PString库文件,并将其放置在上层目录。
你可以执行`./main.sh`来进行编译和查看测试分数。
阅读全文