C语言
st19890625
这个作者很懒,什么都没留下…
展开
-
C语言中的.h文件的作用
C语言中的.h文件和我认识由来已久,其使用方法虽不十分复杂,但我却是经过了几个月的“不懂”时期,几年的“一知半解”时期才逐渐认识清楚他的本来面目。揪其原因,我的 驽钝和好学而不求甚解固然是原因之一,但另外还有其他原因。原因一:对于较小的项目,其作用不易被充分开发,换句话说就是即使不知道他的详细使用方法,项 目照样进行,程序在计算机上照样跑。原因二:现在的各种C语言书籍都是只对C语言的语法进行详转载 2014-09-01 10:36:50 · 8935 阅读 · 7 评论 -
c++ 的(. ::)运算符
“.”运算符的前面是一个对象,“::”运算符的前面是一个类。原创 2015-02-05 21:47:29 · 289 阅读 · 0 评论 -
浮点数的存储形式
C语言和 C#语言中,对于浮点型的数据采用单精度类型(float)和双精度类型(double)来存储:float 数据占用 32bit;double 数据占用 64bit;我们在声明一个变量 float f = 2.25f 的时候,是如何分配内存的呢?其实不论是 float 类型还是 double 类型,在存储方式上都是遵从IEEE的规范:float 遵从的是 IEEE转载 2015-05-28 18:48:24 · 416 阅读 · 0 评论 -
C语言之断言
在讲解之前,我们先来对断言做一个基本的介绍,让大家对断言有一个大致的了解。在使用C语言编写工程代码时,我们总会对某种假设条件进行检查,断言就是用于在代码中捕捉这些假设,可以将断言看作是异常处理的一种高级形式。断言表示为一些布尔表达式,程序员相信在程序中的某个特定点该表达式值为真。可以在任何时候启用和禁用断言验证,因此可以在测试时启用断言,而在部署时禁用断言。同样,程序投入运行后,最终用户在遇到问题转载 2015-05-28 21:00:44 · 368 阅读 · 0 评论 -
C语言之断言
#define assert_param(expr) ((expr) ? (void)0 : assert_failed((char *)__FILE__, __LINE__))/* Exported functions ------------------------------------------------------- */ void assert_failed(c原创 2015-06-04 23:50:57 · 711 阅读 · 0 评论 -
递归算法详解
递归算法详解 C语言通过运行时堆栈来支持递归的调用,在我们刚接触递归的时候,国内很多教材都采用求阶乘和菲波那契数列来描述该思想,就如同深受大家敬爱的国产的C语言程序设计,老谭也用了阶乘来描述递归,以至于很多新手一看见阶乘就理所当然的认为是递归,坑了不少人,说实在的,描述这个思想还是可以,但是利用递归求阶乘可是没有一点好处,递归解决菲波那契数列效率更是低得惊人,这点是显而易见的转载 2015-05-25 20:34:18 · 672 阅读 · 0 评论 -
浮点数2
c语言中的浮点数在内存中的表示(VC++编译器中):char:1个字节short:2个字节int:4字节long:4字节float:4字节(单精度)double:8字节(双精度) 参考:http://www.cnblogs.com/jillzhang/archive/2007/06/24/793901.html无论是单精度还是转载 2015-08-26 10:21:45 · 423 阅读 · 0 评论 -
#ifdef __cplusplus extern "C"
#ifdef __cplusplus,一般用于将C++代码以标准C形式输出(即以C的形式被调用),这是因为C++虽然常被认为是C的超集,但是C++的编译器还是与C的编译器不同的。C中调用C++中的代码这样定义会是安全的。一般的考虑跨平台使用方法如下:#ifdefined(__cplusplus)||defined(c_plusplus) //跨平台定义方法extern "C转载 2015-12-05 15:26:42 · 575 阅读 · 0 评论 -
C语言浮点数
C语言规定了3种浮点数,float型、double型和long double型,其中float型占4个字节,double型占8个字节,longdouble型长度要大于等于double型,本文档将以float型为例进行介绍,double型和long double型只是比float型位数长,原理都是一样的。float型可以表示的范围是-3.402823466e38~3.402823466e3...转载 2019-04-13 19:56:06 · 10598 阅读 · 0 评论