众所周知,数组的存储形式是开辟连续多个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类型进行操作。个人感觉很简单。
以上是检索效果图输入输出如上,证明此种方式是可行滴。