C语言学习
文章平均质量分 74
ecorefeng
Broncho团队成员,在Linux下研究开发。
做事原则:孝敬父母、努力工作、刻苦学习。
处事原则:干净、透明。
展开
-
我的学习方法
转载:http://blog.csdn.net/absurd今天CSDN的频道编辑姜磊,来邮件邀请我做移动频道技术顾问。对我来说,这是一种极大的荣誉,我很高兴,也很感谢姜磊。不过若我真去干这活,熟悉我的人一定会笑掉大牙。何也?原因是我的学习方法,让我不能担此重任。我是那种只专注于自己领域的人,对外界几乎不管不问,在手机行业混了几年,对手机行业很多常识都一无所知。曾经有一个自称是GSM协议的高手,想和我交流技术,得知我连MTK都不知道后,他可能大失所望,结果再也没有出现过。前几天我和三星一位技术主管聊天,他滔转载 2010-07-15 23:28:00 · 489 阅读 · 0 评论 -
我是如何成为程序员的
转载请标明出处:http://blog.csdn.net/ecorefeng作者:朱克锋 英语情节 我接触计算机编程应该说是一种偶然,高考考入某工业大学,学习食品科学,和大多数大学生一样我并不喜欢自己的专业,调剂害死人啊,呵呵呵。。。 从进入大学的第一天起我就给自己定下了最低限度:不能挂科!只要有了限度,那就可以肆无忌惮的做自己的事情了,这是我的做事方法,我不断地寻找自己喜欢的东西,不久我决定学习英语,我是那种很愚笨的人,盯上某件事就不会轻易放弃的人,于是报新东方英语培训班的课,能报的几乎全原创 2010-08-28 11:30:00 · 810 阅读 · 0 评论 -
我是如何成为程序员的--C的故事
《C语言程序设计》给我的影响可以说是以痛苦开始的 和以前一样,我依然逃课,学习英语,过程并无多大差距,乃至很多代课老师都会瞪着眼睛问我你是这个班级的的吗?更有甚者打电话到系办确认我这个学生的存在! 为什么说我的C语言是从痛苦开始的呢?过程是这样的,因为过分的逃课,我甚至都没有见过带我们《C语言程序设计》的老师,在期末考试来临时,我和原来一样认为这些课花一天时间突击一下就过了(最低限度是不挂科,过了就行),可是当我拿起《C语言程序设计》课本的时候,我发现我犯了一个致命的错误:因为它是原创 2010-08-28 10:24:00 · 652 阅读 · 0 评论 -
我是如何成为程序员的--在疯狂中堕落
<br /> 事情与很多偶然性,我后来学习Java语言也不例外<br /> 大三的时候开始接触Java语言,事情起因是以为老师说和我谈论面向对象这种东西,当时我对面向对象与面向过程根本没有什么概念。之后不久我就开始对Java语言进行了学习,我的堕落也由此开始。<br /> Java语言可以说是一种纯粹的面向对象的语言,它简单高效,学习Java因为有了C的基础,一开始就有了比较好的思路,学起来相对轻松但深入学习还是要下一番功夫的,这时我已经堕落的很严重了,虽然不抽烟、不喝酒、不打游戏,但是对原创 2010-08-28 10:58:00 · 555 阅读 · 0 评论 -
我是如何成为程序员的--给在学习编程的同学一些建议
作为文章的结尾,我想把一些建议写出来,其实不能说是建议,是经理与感触吧。 1,不管你是计算机专业还是非计算机专业的,你都可以成为程序员,并且可以成为一个优秀的程序员,只要你努力。 2,不管你是计算机专业还是非计算机专业的,如果你想成为程序员你都要努力学好《数据结构》《操作系统》《编译原理》《组成原理》等等一大批基础课程 3,不管你是计算机专业还是非计算机专业的,如果你想成为程序员你都要努力学好C语言,不管你喜不喜欢,当然如果你不喜欢你怎么会想成为程序呢呵呵呵呵,所以你一定喜欢原创 2010-08-28 11:21:00 · 659 阅读 · 0 评论 -
深入理解堆和栈(选)
在网上浏览时看到这篇文章,对堆栈做了很深入的探讨,故转来和大家一起学习。堆和栈的区别一、预备知识—程序的内存分配一个由c/C++编译的程序占用的内存分为以下几个部分1、栈区(stack)— 由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈。2、堆区(heap) — 一般由程序员分配释放, 若程序员不释放,程序结束时可能由OS回收 。注意它与数据结构中的堆是两回事,分配方式倒是类似于链表,呵呵。3、全局区(静态区)(static)—,全局变量和静态变原创 2010-08-20 08:07:00 · 776 阅读 · 2 评论 -
C语言栈的实现--学习组合设计(二)
在计算机领域,堆栈是一个不容忽视的概念,但是很多人甚至是计算机专业的人也没有明确堆栈其实是两种数据结构。堆栈都是一种数据项按序排列的数据结构,只能在一端(称为栈顶(top))对数据项进行插入和删除。要点:堆:顺序随意栈:后进先出(Last-In/First-Out)在这里不仅仅是实现了栈,我想通过这个栈体现组合意义首先看一下前面我写的链表,看一下代码的实现,然后再来看这个栈的实现,会发现组合的威力是多么的巨大和前面一样先定义结构:typedef struct _Stack{ D原创 2010-08-13 19:55:00 · 642 阅读 · 0 评论 -
C语言队列的实现--学习组合设计(一)
队列是一种特殊的线性表,它只允许在表的前端进行删除操作,而在表的后端进行插入操作。进行插入操作的端称为队尾,进行删除操作的端称为队头。队列中没有元素时,称为空队列。 在队列这种数据结构中,最先插入在元素将是最先被删除;反之最后插入的元素将最后被删除,因此队列又称为“先进先出”(FIFO—first in first out)的线性表。还有一种双向的Queue实现Deque。这种队列允许在队列头和尾部进行入队出队操作,因此在功能上比Queue显然要更复杂。需要说明的是LinkedList也已经加入了原创 2010-08-13 19:38:00 · 1231 阅读 · 0 评论 -
C语言动态数组的完整实现
数组的有点在于随机存取,然而其不足也是明显的,就是一旦建立其大小就不能改变。若用数组存储数据,则必须创建一个可能存放的最大空间的数组,这无疑浪费了空间。动态数组解决了这个问题。动态数组的思路是:先建立一定大小的数组,向这个数组中存放数据,如果数组已满,则重新申请一个更大的空间来存放。每次重新申请时可以指定增量的大小(一般为原来数据的1.5倍),也可以固定大小。这样做的好处是空间浪费不多,其不足是重新申请空间浪费时间,每次重新申请空间时须将原来的数据拷贝到新申请的空间,当数组很大时,这种浪费还是相当可原创 2010-08-13 19:24:00 · 5518 阅读 · 0 评论 -
程序中的数据存储剖析
未初始化的全局变量(.bss段) 已经记不清bss代表Block Storage Start还是Block Started by Symbol。像我这种没有和那些古董级计算机打过交道的人,终究无法理解这样怪异的名字,记不住也就不足为奇了。不过没有关系,我们不必纠结于bss究竟代表什么,而是要弄清楚bss段中都会存放些什么数据、这些数据都有什么样的特点以及我们该如何使用它们。 通俗地讲,bss段被用来存放那些没有初始化或初始化为0的全局变量。它有什么特点呢,让我们先来看看一个小程序的表现。转载 2010-08-13 18:55:00 · 832 阅读 · 0 评论 -
通过冒泡排序(C语言实现)学习回调函数设计原理
对于回调函数的概念有很多种,下面我列举一些常见的看法:a:回调函数是一个很有用,也很重要的概念。当发生某种事件时,系统或其他函数将会自动调用你定义的一段函数。b:回调函数就相当于一个中断处理函数,由系统在符合你设定的条件时自动调用。为此,你需要做三件事:1,声明;2,定义;3,设置触发条件,就是在你的函数中把你的回调函数名称转化为地址作为一个参数,以便于系统调用。c:所谓回调函数就是按照一定的形式由你定义并编写实现内容,当发生某种事件时,而由系统或其它函数来调用的函数。使用回调函数实际上就是在调原创 2010-08-13 18:32:00 · 2064 阅读 · 0 评论 -
关于C语言通用双向链表实现的测试--回调函数的作用
把通用双向链表的测试拿出来写不仅仅是应因为和实现写在一起文章太长,而是因为我想在测试中体现一种思想:回调函数,这里程序实现下列功能。 (1)找出链表中的最大值。 (2) 累加链表中所有整数。这两个函数的实现与dlist_print的实现很类似,故采用回调函数的方式 不过这两个函数并没有太多实用价值,但是通过它们我们可以学习几点。 1,按传统的方法写出max之后,这个函数与dlist_print很类似,在写出sum_cb之后,那种感觉就更明显了。在这时就应该想办法把这些重复的代原创 2010-08-13 18:29:00 · 2651 阅读 · 0 评论 -
C语言编程总结--程序员必须知道的77条编程细节
在编程过程中会遇到各种各样的错误与警告,这里我对编程过程中经常遇到的细节或者说常出错的地方进行了简单的总结,希望对正在编程的“童鞋”有所帮助:C语言编程提示的总结:1:使用#include指令避免重复声明2:使用#define指令给常量值取名3:在#include文件中放置函数原型4:在使用下标前先检查它们的值5:在while或if表达式中蕴含赋值操作6:如何编写一个空循环体7:始终要进行检查,确保数组不越界8:良好的程序风格和文档将使程序容易阅读和维护9:为了保持最佳的可移植性,把字符的值限制在有符号和无原创 2010-08-08 19:33:00 · 950 阅读 · 1 评论 -
HTTP协议学习总结
转来学习.HTTP简介 web浏览器和服务器之类的交互过程必须遵守的协议,它是tcp/ip中的一个应用协议,用来协议数据交换过程和数据本身的格式,主要的有HTTP/1.0和HTTP1.1。HTTP1.0的会话方式在1.0时的会话方式1,建立连接2,发出请求信息3,回送响应信息4,关掉连接 小结 浏览器和web服务器连接很短,每次连接只处理一个请求和响应。对每一个页的请求,浏览器与web服务器都要建立一次单独的连接,浏览器没有关掉前,连接就断开了。浏览器和服务器之间的通信是完全独立分开的转载 2010-07-17 12:18:00 · 624 阅读 · 0 评论 -
项目管理经验谈
这段时间一直关注与研究项目管理知识,看到这篇文章写的不错,转来学习下.项目开始阶段是一个最重要的阶段。项目经理在接手一个新项目的时候,首先要尽可能地多从各个方面了解项目的情况,如:1.这个项目是什么项目,具体大概做什么事情,是谁提出来的,目的是解决什么问题。在国内很多客户都很不成熟的情况下,千万不要根据项目的名称望文生义地去想象项目的目标。一个名为“办公自动化”的项目很有可能在你进场以后一个月才发现客户其实需要的是一个计算机生产管理辅助信息系统系统。前期了解情况的工作越详细,后面的惊讶就越少,项目的风险就越转载 2010-07-16 23:57:00 · 544 阅读 · 0 评论 -
常见的与内存有关的错误总结
常见的与内存有关的错误总结 对c语言的程序员来说,管理和使用内存可能是个困难的、容易出错的任务.与存储器有关的错误属于那些最令人惊恐的错误,因为他们经常在运行的时间和空间上都在距错误根源很远的地方才表现出来,程序在最终失败之前已经运行了很长时间,而且程序终止的位置距离出错的位置已经很远了。所以这类错误很难被查出来,也很难发现。但是对于常见的内存错误如果很熟悉的话就会更早的发现与避免错误的发生。下面我总结了常见的与内存有关的错误: 内存泄漏 内存泄漏通常原创 2010-09-03 19:27:00 · 688 阅读 · 0 评论