C字符串与SDS之间的区别
Posted 本站大佬
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C字符串与SDS之间的区别相关的知识,希望对你有一定的参考价值。
sds.h/sdshdr
struct sdshdr{
int len;
int free;
char buf[];
};
C字符串 | SDS |
---|---|
获取字符串长度的复杂度为O(n) | 获取字符串长度的复杂度为O(1) |
API是不安全的,可能会造成缓冲区溢出 | API是安全的,不会造成缓冲区溢出 |
修改字符串长度N次必然需要执行N次内存重分配 | 修改字符串长度N次最多需要执行N次内存重分配 |
只能保存文本数据 | 可以保存文本或者二进制数据 |
可以使用所有<string.h>库中的函数 | 可以使用一部分<string.h>库中的函数 |
以上是关于C字符串与SDS之间的区别的主要内容,如果未能解决你的问题,请参考以下文章