>C语言
Jesse_嘉伟
这个作者很懒,什么都没留下…
展开
-
嵌入式C编程经验 之 全局变量猛于虎
/********************************************************************************** Filename: 一线研发之声:嵌入式C编程经验 之 全局变量猛于虎* Author:SedateFire E-mail:SedateFire@126.com* Version:1.001转载 2014-12-16 16:03:55 · 1953 阅读 · 0 评论 -
C语言实现封装、继承和多态
1、 概述C语言是一种面向过程的程序设计语言,而C++是在C语言基础上衍生来了的面向对象的语言,实际上,很多C++实现的底层是用C语言实现的,如在Visual C++中的Interface其实就是struct,查找Interface的定义,你可以发现有这样的宏定义:#ifndef Interface#define Interface struct#endi转载 2015-07-07 17:36:35 · 840 阅读 · 0 评论 -
结构体字节对齐
结构体字节对齐 在用sizeof运算符求算某结构体所占空间时,并不是简单地将结构体中所有元素各自占的空间相加,这里涉及到内存字节对齐的问题。从理论上讲,对于任何变量的访问都可以从任何地址开始访问,但是事实上不是如此,实际上访问特定类型的变量只能在特定的地址访问,这就需要各个变量在空间上按一定的规则排列,而不是简单地顺序排列,这就是内存对齐。 内存对齐的原因:转载 2015-05-04 15:05:14 · 375 阅读 · 0 评论 -
状态机思路在程序设计中的应用
状态机思路在单片机程序设计中的应用状态机的概念状态机是软件编程中的一个重要概念。比这个概念更重要的是对它的灵活应用。在一个思路清晰而且高效的程序中,必然有状态机的身影浮现。比如说一个按键命令解析程序,就可以被看做状态机:本来在A状态下,触发一个按键后切换到了B状态;再触发另一个键后切换到C状态,或者返回到A状态。这就是最简单的按键状态机例子。实际的按键解析程序会比这更复杂些转载 2015-05-04 20:16:53 · 711 阅读 · 0 评论 -
使用C语言实现CRC校验的方法
原文转自:http://www.jb51.net/article/36832.htm本篇文章是对使用C语言实现CRC校验的方法进行了详细的分析介绍,需要的朋友参考下CRC(Cyclic Redundancy Check)校验应用较为广泛,以前为了处理简单,在程序中大多数采用LRC(Longitudinal Redundancy Check)校验,LRC校验很好理解,编程实现简单转载 2015-04-28 18:04:54 · 18587 阅读 · 0 评论 -
漫谈递归思想
原文转自:http://www.cnblogs.com/BLoodMaster/archive/2010/03/23/1692641.html漫谈递归思想编程里面估计最让人摸不着头脑的基本算法就是递归了。很多时候我们看明白一个复杂的递归都有点费时间,尤其对模型所描述的问题概念不清的时候,想要自己设计一个递归那么就更是有难度了。今天我也花费了半个小时来搞明白二叉树的平衡性的递归模型,首先我不转载 2015-04-17 18:56:41 · 495 阅读 · 0 评论 -
函数指针及函数指针数组的妙用
转自:http://www.cnblogs.com/processakai/archive/2011/06/24/2089345.html笔者在开发某软件过程中遇到这样一个问题,前级模块传给我二进制数据,输入参数为 char* buffer和 int length,buffer是数据的首地址,length表示这批数据的长度。数据的特点是:长度不定,类型不定,由第一个字节(buffer[0])标转载 2015-03-08 17:44:29 · 493 阅读 · 0 评论 -
二维数组和指向指针的指针
原文转自:http://www.cnblogs.com/stoneJin/archive/2011/09/21/2184211.html二维数组和指向指针的指针一道面试题引发的问题,首先要知道[]的优先级高于*,题目:char **p,a[6][8]; 问p=a是否会导致程序在以后出现问题?为什么?直接用程序说明:#includevoid main(){转载 2015-02-14 11:31:04 · 427 阅读 · 0 评论 -
例看二维数组,指针,二维数组指针
例程:/******************************************************** 文件名:例程** 文件描述:例看二维数组,指针,二维数组指针** 创建人:Jesse** 版本号:** 修改记录:*******************************************************/#include原创 2015-02-14 16:39:01 · 667 阅读 · 0 评论 -
例看const与指针兼容性
在单层运算的前提下:将常量或非常量数据的地址赋给指向常量的指针是合法的:普通类型和const类型指针 -> const类型指针const int array1[4] = {0,1,2,3};int array2[4] = {0,1,2,3};const int *pr = array1; //合法pr = array2; //合法可只有非常量数据的地址才可以赋给普通原创 2015-02-12 17:12:00 · 898 阅读 · 0 评论 -
指针初始化为NULL的作用
关于空指针NULL、野指针、通用指针,首先说一下什么是指针,只要明白了指针的含义,你就明白null的含义了。假设 有语句 int a=10;那么编译器就在内存中开辟1个整型单元存放变量a,我们假设这个整型单元在内存中的地址是 0x1000;那么内存0x1000单元中存放了数据10,每次我们访问a的时候,实际上都是访问的0x1000单元中的10.现在定义:int *p;转载 2015-02-08 23:00:49 · 974 阅读 · 0 评论 -
从数组传参看函数的调用和数组的存储情况
从数组传参看函数的调用和数组的存储情况原创 2015-02-07 17:45:24 · 735 阅读 · 0 评论 -
深入“自顶向下,逐步求精”——面向过程程序设计方法
文章转自:http://blog.csdn.net/sxhelijian/article/details/7303605程序设计初学者常常受困于不会想问题:“不知道让计算机解决这个问题该如何做”。其实,程序员的一个基本功是,能够将复杂的问题分解开来。学会分解任务,因超级大分为大的、中的、小的、超小的,直到能用很直接的方法解决。记住一个很管用的策略:自项向下,逐步求精。不管做何事,都拿这个策转载 2015-01-14 15:20:28 · 1312 阅读 · 0 评论 -
结构体变量、结构指针变量、结构数组作为函数的参数应用实例分析
文章转自:http://blog.csdn.net/lpp1989/article/details/7766574结构体变量、结构指针变量、结构数组作为函数的参数应用实例分析 struct stud { long int num; float score;};/*结构体变量作为函数的参数,修改之后结构体的值不变*/void funvr(str转载 2015-01-27 22:27:00 · 1111 阅读 · 0 评论 -
用UML建模开发嵌入式软件
原文引自:http://www.ednchina.com/ART_27726_29_20023_TA_bcd471c2_2.HTM引 言 面向对象开发方法无疑是当前最流行的软件开发方法。这归功于面向对象开发的众多优点:可靠性高,所开发的程序更健壮;由于面向对象编程的可重用性,可以在应用程序中大量采用成熟的类库,从而缩短了开发时间;继承和封装使得应用程序的修改带来的影响更加转载 2014-12-17 20:44:07 · 3212 阅读 · 0 评论 -
在中断程序里修改全局变量的童鞋注意啦~(C中的volatile作用 转载~)
一个定义为volatile的变量是说这变量可能会被意想不到地改变,这样,编译器就不会去假设这个变量的值了。精确地说就是,优化器在用到这个变量时必须每次都小心地重新读取这个变量的值,而不是使用保存在寄存器里的备份。下面是volatile变量的几个例子: 1). 并行设备的硬件寄存器(如:状态寄存器) 2). 一个中断服务子程序中会访问到的非自动变量(Non-automat转载 2014-12-16 16:10:30 · 15670 阅读 · 3 评论 -
C语言中const的用法
原文转自:http://blog.sina.com.cn/s/blog_5f84dc840100lrm7.htmlconst是一个C语言的关键字,它限定一个变量不允许被改变。使用const在一定程度上可以提高程序的安全性和可靠性,另外,在观看别人代码的时候,清晰理解const所起的作用,对理解对方的程序也有一些帮助。 我们来分情况看语法上它该如何被使用。 1、函转载 2015-01-12 18:10:03 · 7776 阅读 · 1 评论