![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
c语言学习
文章平均质量分 62
脆皮骷髏人
虚弱
展开
-
strcmp函数及模拟
strcmp包含在的头文件中,作用是比较两个字符串。将 C 字符串 str1 与 C 字符串 str2 进行比较。原创 2023-01-18 15:59:30 · 874 阅读 · 1 评论 -
c语言实现通讯录(改进)
c语言实现通讯录(改进)原创 2023-02-08 19:42:53 · 280 阅读 · 2 评论 -
memcmp
将 ptr1 指向的内存块的前 num 字节数与 ptr2 指向的第一个字节数进行比较,如果它们都匹配,则返回零,如果不匹配,则返回一个不同于零的值,表示哪个值更大。 请注意,与 strcmp 不同,该函数在找到\0后不会停止比较以下是函数的声明int memcmp ( const void * ptr1, const void * ptr2, size_t num );原创 2023-01-26 23:23:51 · 994 阅读 · 2 评论 -
c语言学习中新人容易忽视的操作符
其实之前学这块的时候那老师就说别去瞎搞,但是好奇心重,加上当时确实没认真听。就不能理解为什么行内大佬那么多不能够在一个小小的四则运算上做出一个万能公式呢?后面深入学习了才发现自己的想法过于天真。原创 2023-02-07 00:31:41 · 286 阅读 · 15 评论 -
strtok函数及其模拟
在进行模拟之前我们先思考一个问题,,为什么每次函数被调用的时候,我们明明后续传入的是一个空指针,但是为什么却能够找到上一次保存的地址,c语言中有什么地方提供了这样的可能呢?没错,那就是静态变量。原创 2023-01-18 17:50:46 · 523 阅读 · 1 评论 -
c语言中的位段
通过以上学习,我们可以总结出:跟结构相比,位段可以达到同样的效果,但是可以很好的节省空间,但是缺点是除了存储的数据取值范围会减小,且有一系列的跨平台的问题存在。原创 2023-02-04 18:18:45 · 236 阅读 · 2 评论 -
初学者对预处理指令容易忽视的问题
初学者对预处理指令容易忽视的问题原创 2023-02-17 22:51:15 · 242 阅读 · 3 评论 -
atoi函数的模拟实现
atoi的规则是:跳过不可见字符,碰到负号或者数字开始转换,转换到非数字字符为止。下面针对以下问题对问题进行模拟实现原创 2023-02-13 12:27:35 · 269 阅读 · 1 评论 -
strstr函数及模拟
通常的字符串匹配算法流程如下:从主串(目标字符串)和模式串(待匹配字符串)的第一个字符开始比较,如果相等则继续匹配下一个字符, 如果不相等则从主串的下一个字符开始匹配,直到模式串被匹配完,则匹配成功,或主串被匹配完且模式串未匹配完,则匹配失败。而相对于以上的暴力匹配,KMP算法的改进之处在于:能够知道在匹配失败后,有多少字符是不需要进行匹配可以直接跳过的,匹配失败后,下一次匹配从什么地方开始,能够有效的减少不必要的匹配过程。其中跳过多少个字符是需要我们进行next数组的生成。原创 2023-01-18 15:07:35 · 708 阅读 · 0 评论 -
c语言实现通讯录
此处采用了函数指针数组使得时间复杂度为O(1),同时便于添加后续功能我们需要实现初始化通讯录,增加,删除,修改,查找,展示,排序联系人这七个功能原创 2023-02-04 23:27:48 · 310 阅读 · 4 评论 -
sizeof相关的习题
1. sizeof(数组名),这里的数组名表示整个数组,计算的是整个数组的大小。(放地址情况都视为sizeof(指针),4/8)2. &数组名,这里的数组名表示整个数组,取出的是整个数组的地址。3. 除此之外所有的数组名都表示首元素的地址。原创 2023-01-29 18:44:28 · 572 阅读 · 13 评论 -
c语言实现通讯录(本地存储版)
只是增添了一个本地保存功能原创 2023-02-12 22:20:21 · 318 阅读 · 1 评论 -
strcat函数及其模拟
1.strcat函数的参数以及返回值2.VS中库函数的实现3.模拟实现strcat4.字符串自己给自己追加的情况原创 2023-01-17 19:40:07 · 942 阅读 · 0 评论 -
用冒泡排序模拟qsort函数
通过模拟qsort函数希望能帮助大家更深入的了解qsort函数的实现逻辑原创 2023-02-04 15:09:56 · 262 阅读 · 2 评论 -
memcpy函数及模拟
1. 拷贝的内容不能相互重叠,如果重叠应使用memmov2. 数字指的是字节数,在进行内存拷贝的时候我们需要计算好需要拷贝的总字节数,防止过小达不到目的,过大产生越界访问。原创 2023-01-26 21:50:38 · 1537 阅读 · 1 评论 -
动态内存分配
我们在创立变量的时候,往往所分配的内存是固定,在考虑到节省空间的这个时候,就需要对内存进行动态内存分配。以数组为例,数组在申明的时候,必须指定数组的长度,它所需要的内存在编译时分配。但是对于空间的需求,不仅仅是上述的情况。有时候我们需要的空间大小在程序运行的时候才能知道。原创 2023-02-13 23:06:01 · 351 阅读 · 2 评论 -
memmove函数及模拟
通过观察我们可以发现des若是落在source之前时采用从前向后的拷贝方式落在source之前且source所指向的空间内应当采用从后向前至于落在最后面则是两者均可,为了划分的方便则此处也采用从后向前原创 2023-01-26 23:00:05 · 268 阅读 · 2 评论 -
strcpy函数及模拟
函数的参数分别是目的(destination)字符串的地址,以及被拷贝(source)的字符串的地址。此外,由于我们只是把一个字符串复制到另一个地址空间,所以源头字符串不会被修改,所以我们用const修饰,比较安全。strcpy函数的返回值是目的地字符串首元素的地址,返回类型是char*。strcpy是将源头字符串包括’\0’复制到另一个地址空间,这样才能确保目的地字符串有字符串结束的标志’\0’,避免出现字符串无‘0’的情况而引起bug。原创 2023-01-17 18:19:16 · 2606 阅读 · 0 评论 -
c语言qsort函数(快速排序)
在学习c语言时我们常常会遇到一些排序的问题,在遇到这些排序的问题的时候,我们当然可以自己选择写出自己的排序方法来进行排序。但是我们今天要介绍的是c语言库函数中所提供的一个快排函数。这个函数可以直接提供给我们快排这样一个工具,在面对一些情况的时候会起到事半功倍的效果。此外,它能够排序任意数据类型的数组其中包括整形,浮点型,字符串甚至还有自定义的结构体类型,合理使用时非常方便。原创 2023-01-11 17:34:33 · 539 阅读 · 0 评论 -
strlen函数及模拟
strlen函数及模拟,strlen和sizeof,初学者时常会将两者弄混,但其实两者有着有着本质的区别,sizeof是操作符,计算的变量所占的空间大小是多少个字节。strlen是c语言所提供的的库函数,用来统计从传入的地址统计字符串个数,直到遇到\0。原创 2023-01-17 17:28:55 · 366 阅读 · 0 评论 -
c语言自制计算器及改进(函数指针数组)
同时通过改进前后的计算器进行比较我们可以发现通过函数指针数组来制作转换表时可以有效降低圈复杂度,将时间复杂度O(n)降低为O(1)。原创 2023-01-10 21:05:45 · 590 阅读 · 0 评论 -
指针的右左法则
1.首先从最里面的圆括号开始阅读2.首先向右看,再往左看3.每当遇到圆括号或者方括号时可以确定部分类型,并调转阅读方向4.重复2,3的步骤直到阅读结束原创 2023-01-09 18:53:29 · 753 阅读 · 3 评论 -
指针数组和数组指针的区别和用处
“数组指针”和“指针数组”,其本质只要看最后的后缀数组指针:是一个指针,指向数组的指针。指针数组:是一个数组,装着指针的数组。原创 2023-01-08 19:32:59 · 2779 阅读 · 5 评论 -
整形家族与浮点型家族数据存储
在学习c语言中我们常常用到的整形与浮点型变量的数据存储其实比我们想象的要复杂一些,毕竟机器只能够识别0和1。下面我将给大家讲解一下两者数据的存储的异同。首先需要明确的一点,数据在存储的时候,最后它的表现的数值取决于我们以何种方式调用。了解两种数据的存储方式有助于我们日常写代码的时候排查bug。原创 2023-01-07 14:03:47 · 444 阅读 · 1 评论 -
c语言中const的修饰作用
c语言中const的作用以及注意事项原创 2023-01-06 22:14:42 · 1216 阅读 · 2 评论