千家信息网

C语言中字符串怎么用

发表于:2026-11-02 作者:千家信息网编辑
千家信息网最后更新 2026年11月02日,小编给大家分享一下C语言中字符串怎么用,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!串的定义零个或多个字符组成的有限序列串
千家信息网最后更新 2026年11月02日C语言中字符串怎么用

小编给大家分享一下C语言中字符串怎么用,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!

串的定义

零个或多个字符组成的有限序列

串的比较

串的比较实际上是在比较串中字符的编码

存在某个k < min(n,m),使得ai = bi (i = 1,2,3,4..k)

如果 ak < bk --> 那么srt1 < srt2 (反之也成立)

除去相等的字符,在第一个不相等的字符位置以Ascii码进行比较

串的抽象数据类型

串的顺序存储结构示意图

串的顺序存储结构是用一组地址连续的存储单元来存储串中的字符序列

typedef struct sqString{    char* ch;  //若串为空,则按串长分配存储区                 //否则ch = NULL    int length;//串长}sqString;

串的初始化

相关定义初始化

/** 状态码  **/#define TRUE 1#define FALSE 0#define EQ 0#define GT 1  //大于#define LT -1 //小于

定长类初始化

#define MAX_SIZE 1024typedef struct{    char ch[MAX_SIZE + 1];      //定长方式实现了字符串的顺序结构--缺点是浪费空间    int length; }SString;

串的堆式顺序存储结构(Heap)

/** 串的堆式顺序存储结构(Heap)**/typedef struct{    char * ch;      //如果是非空串,那么就按照指定长度分配内存,否则ch就指向NULL    int length;   //串当前长度}HString;

初始化堆字符串

赋值操作

/** 为串str赋值,值为字符串常量chars **/void StrAssign_HeapString(HString * str,char * chars){    int len = strlen(chars);    if(!len) return ERROR;    InitString_HeapString(str);    //动态为字符串分配空间    str->ch = (char*)malloc(len * sizeof(char));    if(!str->ch){        exit(OVERFLOW); //内存溢出,分配失败    }    //逐个将字符串输入所分配的空间中    for(int i = 0;i < len ; i++)    {        str->ch[i] = chars[i];    }    str->length = len;  //将长度赋值    return OK;    }

比较两个堆字符串的大小

str1 == str2 返回0 ; str1 < str2 返回-1 ; str1 > str2 返回1

Status Strcmp_HeapString(HString * str1,HString * str2){    for(int i = 0;i < str->length && i < str2->length; i ++){        //遇到不同的字符就直接比较Ascii        if(str->ch[i] != str[2]->ch[i]){                //大于则返回整数,小于则返回负数            return str->ch[i] - str[2]->ch[i];        }    }    //字符都相等但是长度不等,就比较长度    return str1->length - str2->length;}

以上是"C语言中字符串怎么用"这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注行业资讯频道!

字符 字符串 存储 结构 长度 顺序 分配 空间 篇文章 语言 内存 内容 序列 定长 不同 不怎么 两个 位置 动态 单元 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 广州万易互联网科技有限公司 深圳恒合互联网络科技有限公司 上海互联网科技有限公司 掌上梦互联网科技 金融科技和互联网金融 联恩商钥互联网科技有限公司 汉立互联网科技有限公司联系电话 互联网科技公司需要的职位 互联网企业和科技型企业 互联网软件和科技 互联网科技和法律行业 卓翼科技产业互联网合作 中天科技中国工业互联网 扫呗互联网科技有限公司 陕西九四连强互联网科技有限公司 版纳互联网科技选哪家 第三届互联网大会安防黑科技 互联网科技对化妆品行业 互联网大会出现的黑科技 互联网科技创业有什么好项目 互联网络科技 厦门中拓互联网络科技有限公司 互联网与科技金融数据 湖南洣水互联网科技有限公司扣款 隆华科技工业互联网 青岛中康互联网医疗科技有限公司 互联网科技创新服务 互联网科技公司营业执照怎么办理 互联网时代的科技公司 艺电能源互联网科技有限公司招聘
0