串的关系

C语言中比较两个字符串是否相等,必须是他们串的长度以及他们各对应位置的字符串都相等时,才算相等。即给定两个串:s=“a1a2....an”,t="b1b2.....bm",当且仅当n=m,ai=bi时,我们认为s=t。

对于两个串不相等时,他们的大小这样定义:

给定两个串:s="a1a2...an",t="b1b2...bn",当满足一下条件之一时,s<t。

1,n<m,且ai=bi(i=1,2,3,4...n)

例如当s=“hap”,t= “happy”,就有s<t。因为t比s多了两个字母。

2,存在某个k<min(m,n),是得ai=bi(i=1,2,3...k-1),ak<bk。

例如当s=“happen” ,t=“happy”,因为前4个字母均相同,而两串第5个字母(k值),字母e的ASCII,码是101,而字母y的ASCII码是121,显然e<y,所以s<t.

串的store structure,它规定在串值后面加一个不计入串长度的结束标记付,比如"\0"来表示串值的终结。

于是对于串的顺序存储,有一些变化,串值的存储空间可在程序执行过程中动态分配而得。比如在计算机中存在一个自由存储区,叫做堆。这个堆可由C语言的动态分配函数malloc()和free()来管理

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值