C语言
用勤奋改变命运
编程是一种思想,固步自封是取得不了大的成绩;伟人之所以伟大,是他们身体力行的思想成果让我们的现在过的更美好。牛顿说过“我之所以站的高,是因为我站在巨人的肩膀上”。让我们成为编程的思想家吧,用自己的思想,提高自己,也帮别人抛砖引玉。
展开
-
转载—嵌入式需要了解的定义函数
转载:野火预处理器(Preprocessor) 1. 用预处理指令#define 声明一个常数,用以表明 1 年中有多少秒(忽略闰年问题) #define SECONDS_PER_YEAR (60 * 60 * 24 * 365)UL 我在这想到几件事情: 1). #define 语法的基本知识(例如:不能以分号结束,转载 2013-12-17 13:45:39 · 673 阅读 · 0 评论 -
结构体、共用体、指针
union testc{ int ua; char tmp[4];};struct testb{ int pc; int pd;};struct testa{ struct testb test; struct testb* ptestb; union testc utest; int pa; int pb;};int main(){ struct test原创 2014-12-23 16:43:29 · 1352 阅读 · 0 评论 -
C语言宏高级用法 [总结]
转自:http://www.cnblogs.com/Anker/p/3418792.html1、前言 今天看代码时候,遇到一些宏,之前没有见过,感觉挺新鲜。如是上网google一下,顺便总结一下,方便以后学习和运用。C语言程序中广泛的使用宏定义,采用关键字define进行定义,宏只是一种简单的字符串替换,根据是否带参数分为无参和带参。宏的简单应用很容易掌握,今天主要总结一下宏转载 2014-09-01 17:39:52 · 772 阅读 · 0 评论 -
C语言宏定义##连接符和#符的使用
C语言中如何使用宏C(和C++)中的宏(Macro)属于编译器预处理的范畴,属于编译期概念(而非运行期概念)。下面对常遇到的宏的使用问题做了简单总结。关于#和##在C语言的宏中,#的功能是将其后面的宏参数进行字符串化操作(Stringfication),简单说就是在对它所引用的宏变量 通过替换后在其左右各加上一个双引号。比如下面代码中的宏:#define WARN_IF(EXP转载 2014-09-01 18:05:31 · 489 阅读 · 0 评论 -
#define宏定义的用法遇到的问题
#define 这种宏定义的方法有许多中,用起来也极大的方便了用户的shi原创 2014-06-13 13:52:40 · 1171 阅读 · 0 评论 -
typedef和#define的用法以及区别
以下是对C/C++语言中,typedef和#define的用法以及区别进行了详细的介绍,需要的朋友可以过来参考下一、typedef的用法在C/C++语言中,typedef常用来定义一个标识符及关键字的别名,它是语言编译过程的一部分,但它并不实际分配内存空间,实例像:typedef int INT;typedef转载 2014-06-13 13:05:32 · 510 阅读 · 0 评论 -
多行宏定义中的注释问题
早上在写代码时遇到这样一个问题:即如何在一个拥有多行的宏定义中做注释?,这里把方法演化的过程贴出来,可能对某些朋友有些借鉴意义。宏定义高深莫测,而且是比较细节的东西,详细说明请参见"C参考手册"之类的书籍。在我的代码中,我大致要做这样一个简单的事情:printf("%s%s%s\n", "hello", "macro", "yeah!"); "%s%s%s\n"这个字符串中每一项输转载 2014-07-02 17:29:27 · 1771 阅读 · 0 评论 -
做错过的C语法题目
语法题目考察的比较集中,基本上包括以下几个方面:宏定义和预处理结构体、功用体对齐、长度sizeof/typedef变量类型转换指针运算关键字运算符优先级语法解析 需要认证啊,错很多基础的。本篇博客耗时4小时。一、宏定义和预处理1、写出下列代码的运行结果:1234567转载 2014-03-14 13:32:46 · 687 阅读 · 0 评论 -
有用的小程序的总结
1.幂函数//m^n函数u32 mypow(u8 m,u8 n){u32 result=1; while(n--)result*=m; return result;}2.同事写的浮点转字符串函数/************************************************************************//*原创 2014-02-13 17:53:30 · 1221 阅读 · 0 评论 -
嵌入式C语言编程小知识总结
嵌入式C语言编程小知识1. 流水线被指令填满时才能发挥最大效能,即每时钟周期完成一条指令的执行(仅指单周期指令)。如果程序发生跳转,流水线会被清空,这将需要几个时钟才能使流水线再次填满。因此,尽量少的使用跳转指令可以提高程序执行效率,解决发案就是尽量使用指令的“条件执行”功能。2. 在LPC2200系列中:可以通过过下面的程序延迟10毫秒:for(i=0;i转载 2013-12-18 22:13:01 · 608 阅读 · 0 评论 -
局部变量、全局变量、堆、堆栈、静态和全局
转载自博客:http://blog.csdn.net/jamestaosh/article/details/4513188感谢作者预备知识—程序的内存分配 一个由C/C++编译的程序占用的内存分为以下几个部分 栈区(stack)— 由编译器自动分配释放,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈。 堆区(heap) — 一般由程序员分配释放,若程序转载 2014-12-11 09:16:12 · 3133 阅读 · 0 评论