C语言
mfreesky
这个作者很懒,什么都没留下…
展开
-
C预处理和宏
预处理,宏,常量,变量1.预处理.预处理常量1.1__FILE__显示源文件完整路径和名称代码如printf("the ocde in the file %s/n",__FILE__);1.2__LINE__显示源文件当前行号代码如printf("the ocde in the line %d/n",__LINE__);1.3__DATE__,__TIME__显示编译时的日期和时间代码如prin原创 2008-09-05 14:41:00 · 1761 阅读 · 1 评论 -
了解 volatile 的用法
volatile的本意是一般有两种说法--1.“暂态的”;2.“易变的”。其实Volatile是由于编译器优化所造成的一个Bug而引入的关键字。 int a = 10; int b = a; int c = a; 理论上来讲每次使用a的时候都应该从a的地址来读取变量值,但是这存在一个效率问题,就是每次使用a都要去内存中取变量值,然后再通过系统总线传到CPU处理,这样开销会很大。所以那些编译器优原创 2008-12-09 10:35:00 · 650 阅读 · 0 评论 -
确保你的 float,double 值 不被 改变
<br />最近在做一套系统的时候,发现数据不对,原来是float的初始值已经被改变了。<br />float f1 =1543.56f;<br />调试跟踪的时候发现 f1 = 1543.5601了。<br /><br />分析原因: <br />1.float 在初始化的时候进行了运算,是2e次幂。f1 = 2048.64f就不会有这个问题。<br />2.超出float 的精度的时候,float也会做出处理,使你的值被改变。<br /><br />解决办法:<br />1.自定义数据结构体,如C# 的原创 2010-12-31 16:04:00 · 635 阅读 · 0 评论