
C语言
zouleideboke
这个作者很懒,什么都没留下…
展开
-
C语言参数传递
今天午休的时候阅览今日头条,偶然看到一段c语言参数传递的一段代码,看了那段代码的运行结果,我有点疑惑,于是将那段代码测试了一下,发现结果真是那样子!废话不多说,贴上原代码:#includevoid add_by_10(int a){ a=a+10;}int main(int argc,char*argv[]){ int a=2; add_by_10原创 2017-04-08 20:46:12 · 571 阅读 · 2 评论 -
双向链表的基本操作
学过单向链表的小伙伴都知道单向链表中的每一个节点有且只有一个指针,这个指针就是用来指向下一个节点的,单向链表顾名思义就是链表方向是单方向的,而本文要介绍的双向链表就是链表方向是双方向的,也就是双向链表中的每一个节点有两个指针,一个指针用来指向上一个节点(前驱),另一个指针用指向下一个节点(后继)。 本文主要是总结一下自己对双向链表的基本操作,当然我也只是写了几个比较简单的操作,其中包括双向链原创 2017-07-27 22:46:19 · 30775 阅读 · 4 评论 -
指针函数和函数指针、指针数组和数组指针
综述:函数指针是一个指向函数的指针,而指针函数是指一个返回值为指针的函数;数组指针是一个指向二维数组的指针变量,而指针数组是多个指针变量以数组的形式存储在内存中;一、函数指针1.函数指针定义函数类型 (*指针变量名)(形参列表);“函数类型”说明函数的返回类型,由于“()”的优先级高于“*”,所以指针变量名外的括号必不可少,后面的“形参列表”表示指针变量指向的函数所带的转载 2016-04-23 09:58:57 · 420 阅读 · 0 评论 -
单链表基本操作学习
最近几天学习了一下数据结构中的链表,其实大二的时候老师教过数据结构这门课的,但我不敢说自己学过数据结构,呵呵!为什么呢?那时候老师讲链表的时候讲的那叫一个深奥啊!又不举个例子演示一番,刚开始兴趣还是有的,可后面听着听着就走神了,就再也没有听过了,只有期末考试时刷刷往年的题目,应付了过去。所以当时数据结构学的怎么样可想而知! 其实学习链表主要是得掌握指针的操作以及数据结构的用法,当然这里边原创 2017-07-25 21:48:45 · 653 阅读 · 0 评论 -
C语言之桶排序,冒泡排序,快速排序,选择排序算法学习
由于快找工作了,最近开始练习一些笔试题,学习了一下简单的桶排序,冒泡排序,快速排序,选择排序算法,不过这只是皮毛,懂C语言,数学只要不是很差都能明白这几个算法,学习这个算法主要是参考啊哈磊编著的《啊哈!算法》这本书,这本书讲解的还是满生动形象的,还插入了一些漫画,感觉蛮有趣的。比较适合新手。 下面贴上代码:/****************************************原创 2017-07-31 15:05:39 · 6589 阅读 · 1 评论 -
linux下gdb调试解决core dumped问题
最近因为忙于期末考试,前面学习过程中遇到的问题一直没有总结,现在考试考完了,终于有时间搞自己的事情,开兴ing.今天把自己写代码遇到的问题总结一下!之前在学习C语言编程操作sqlite3数据库遇到了Segmentation fault(core dumped)错误,但是因为代码有点长直接肉眼找到错误所在,比较浪费时间,所以就上网查找有没有相关快速调试的方法,网上一搜,果然有大神写过类似的文章。原创 2017-07-07 21:54:31 · 2294 阅读 · 0 评论 -
STM32中的assert_param函数浅析
学习STM32时,追踪源代码经常会在ST库函数中看到assert_param()函数,它的作用是什么呢?上网了解一下之后便豁然开朗!下面我将对它的作用及其用法进行简单的总结!其实assert_param()是一个断言机制函数,它主要是用于调试代码。比如我们在调用void USART_DMACmd()库函数时,追踪一下它的定义,会发现它是定义在stm32f10x_usart.c文件中再来原创 2017-07-13 16:36:28 · 6495 阅读 · 0 评论 -
C语言基础及数据类型
C语言简介:1.编程语言发展历程: 机器语言-> 汇编语言(ASM) ->高级语言(C、C++、Java、ObjectC)->脚本语言 JavaScript、ShellScript、PHP、JSP、ASP、Python、Perl)2. C语言历史: Dennis M.Ritchie为保证UNIX操作系统在不同平台上方便移植而发明了C语言, C语言源自Ken Thom原创 2016-04-23 09:38:48 · 711 阅读 · 0 评论 -
结构体对齐
结构体对齐详解1 -- 结构体数据成员对齐的意义许多实际的计算机系统对基本类型数据在内存中存放的位置有限制,它们会要求这些数据的起始地址的值是某个数k的倍数,这就是所谓的内存对齐,而这个k则被称为该数据类型的对齐模数(alignment modulus)。这种强制的要求一来简化了处理器与内存之间传输系统的设计,二来可以提升读取数据的速度。 比如这么一种处理器,它原创 2016-04-23 09:35:03 · 1014 阅读 · 0 评论 -
linux下C语言编写贪吃蛇游戏
今天看了一下我之前关注过的一位大神的blog,看到他转发的一篇贪吃蛇游戏,感觉很有确,于是将代码放到linux系统下运行了一下,很不错,mark一下!哈哈。原文连接:点击打开链接/********************************************************************************* * Copyright: (C)转载 2017-09-09 17:07:26 · 14836 阅读 · 5 评论