
普通数组只能存储一组数字字符数组的出现让C语言拥有了保存字符串的能力。字符数组本质上依旧是连续内存空间专门存放字符数据字符串输入输出、拷贝、长度计算都离不开它。 \0 结束标志、越界访问等问题是学习字符数组时最容易踩坑的地方本篇我们系统讲解字符数组的使用。 1. 排序 ①冒泡排序它的核心思想是相邻的两个元素两两比较小的放在前面大的放在后面。冒泡排序的外层循环是用来控制趟数的里层循环是比较一趟的过程。 ②插入排序核心思想是将数据插入到已有的一个序列通过和已排序的序列进行比较找到适合的位置插入。 算法的意义方便查找一个数据。查找算法—二分查找法也叫折半查找。就是从一组数据的中间位置的与要查找的数据开始比较然后再从一半的一半开始查找直至找到要找的数据或者比对完全部数据为止。 使用前提要求数据是已经排序好的。若中间位置上的值要找的数据说明要找的值在中间位置的前面反之若小于要找的值则说明要找的值在中间位置的后面若中间位置的值要找的值则刚好找到。 2. 一维字符型数组 语法数据类型 数组名数组长度在本质上与int型数组没多大差别。 作用一维字符型数组主要想处理的是多个字符数据。 注意C语言中字符数组就是用来存储一个字符串数据的。 字符串数据实际上是按照字符数组的方式处理的。 对于字符串数据我们更关心的是整个字符串而不是字符串中的单个字符。 对于字符数组则成了存放字符串的容器。 在处理字符串数据时关心的是字符串啥时候结束而不是字符数组啥时候结束数组的长度便显得不那么重要了。 字符串的结束标志0表示结束标志。 3. 如何处理字符串 字符串长度—0前面有效字符的个数。 ①获取字符串长度 C语言提供strlen函数用来获取字符串长度。 ②给值 C语言提供gets和puts函数gets用来从标准输入设备输入字符串puts用来输出字符串。 注意gets一般不推荐使用原因是很容易导致数组越界。 ③字符串复制 C语言提供strcpy函数用来复制字符串。 ④字符串拼接 C语言提供strcat函数实现。