字符串的检索方法

本文探讨了C语言中字符串的存储形式,类似于数组,是连续存储的char类型。通过定义char指针,可以逐个字符进行查找或修改字符串内容。在查找过程中,应注意使用strncmp函数而非strcmp,因为strcmp会一直比较到字符串结束。此外,可以通过计算首地址到末尾的长度来操作字符串中的每个字符。这种方法被证明是有效的。
摘要由CSDN通过智能技术生成

众所周知,数组的存储形式是开辟连续多个int型地址,那么我们在提取数组中的元素就只需要进行星运算即是*p(p为int型指针),那么在字符串中的储存形式是否能与此类似呢,结果显然也是。即是字符串的构成是将输入的字符串,分成多个char类型来存储。同理也可推理到自定义结构体数组。也是可以的(即为连续的n个专门存储这类型的类似数组形式)

回归正题,对于一个字符串我们有很多种在其中查找的方法,这里就不举例了。在string.h里面。除了这些函数,还可以用字符串存储的特性。他是由n个连续存储的char类型。那么我们就可以定义一个char类型的指针*q。使*q指到我们的第一个字符串地址,则为q=&a[0]。那么我们就可以从a[0]开始到a[n-1]。利用strncmp函数一个元素一个元素的查找或者修改。ps(如果要进行一个个的查找是不能用strcmp函数的,因为它会从我们开始的地址一直查找到斜杠零)这会导致我们的if判定有误。从而无法达到目的。那么如果我们要输入一些东西,再在其中进行查找或者修改,就可以运用这种,利用连续地址的方法来操作,用此类方法再结合长度函数或者就利用这个首地址再依次找到最后一个设置计数数字直接计算长度也可,就可以对其中的所有的每一个单独的char类型进行操作。个人感觉很简单。watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA6YaJ5LiO5pyI5piO6Jm554Of56yZ,size_20,color_FFFFFF,t_70,g_se,x_16

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA6YaJ5LiO5pyI5piO6Jm554Of56yZ,size_20,color_FFFFFF,t_70,g_se,x_16以上是检索效果图输入输出如上,证明此种方式是可行滴。 

 

评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值