C语言基础
远见攻城师
这个作者很懒,什么都没留下…
展开
-
C语言实现快速排序算法
快速排序C语言实现与分析快速排序是C.A.R.Hoare于1962年发明的。算法的基本思想是:递归。对于一个给定的数组,从中任意选取一个元素,以这个元素为界,将其余元素划分为两个子集,一个子集要求全部小于这个元素,另一个子集要求全部大于或等于这个元素。对这两个子集递归执行这个过程,当某个子集中的元素个数小于2时,终止递归。1.算法分析递归思想在C语言程序设计中,比较独特,并不推荐...原创 2019-12-01 19:59:14 · 631 阅读 · 0 评论 -
C语言常用类型转换函数实现
常用c语言类型转换1 字符串转换为整型数1.1 分析说明一串数字以字符串的形式表示,并在不同接口间传递,是编程中很常见的。通常情况下,字符串表示的数字,可以直观的看到,但计算机并不这么理解,这只是方便人们直观的看。所以可以使用字符串表示的数字作为输入,当计算机使用它进行运算时,需要转化为实际的数字。1.2 函数实现int atoi(char *s){ int i, n;...原创 2019-11-24 21:00:17 · 778 阅读 · 0 评论 -
浅析memcpy内存拷贝函数
浅析memcpy函数原型 C语言程序员钟爱memcpy函数,面试时考官总会让你写一个memcpy函数,笔试时候也总有这个题目,那这究竟是为什么呢?要想知道这个答案,还得从头说起。 话说C语言诞生之初,便与硬件有着天然的联系,使我们不得不深入基层,了解内存,操作内存。就如为将者需熟读兵书、通晓天文、地理一样,我们要搞清各种元素的内存形态、位置及相应的操作方法,熟悉内存操原创 2018-02-06 17:09:28 · 2665 阅读 · 0 评论 -
浅析memmove函数之内存重叠
话说上一节说到memcpy函数实现没有考虑内存重叠问题,难道C库函数故意留一个bug吗?当然不是了,memmove函数就弥补了这个不足哦,是不是以前一直觉得这两个函数没啥区别呢,实际上区别大了去了,下面详细道来。 老话常谈,C语言中操作内存的最小单元当属字节,假如100个字节的内存需要搬运,恰巧的是目的内存的100字节中,包含了源地址中的50个,假如依旧按照memcpy方式来的话,保证那原创 2018-02-07 11:07:44 · 911 阅读 · 0 评论 -
keil中串口重定向问题
重定向是指用户可以自己重写C语言的库函数,当连接器检查到用户编写了与C语言库函数相同名字的函数时,优先采用用户编写的函数,这样就可以对库函数进行修改了。若要printf( )函数工作,需要把printf( )函数重新定向到串口函数。为了实现重定向 printf( ) 函数,需要重写fputc( )这个C标准库函数,因为printf()在C标准库函数中实质是一个宏,最终是调用了fputc( ...转载 2018-08-17 09:45:01 · 1620 阅读 · 0 评论