2013年11月6日
摘要: 一、if、elsefloat变量与“零值”进行比较: float fTestVal = 0.0; if((fTestVal >= -EPSINON) && (fTestVal <= EPSINON)); //EPSINON为之前定义好的精度 float和double类型的数据都是有精度限制的,这样直接拿来和0.0比,当然不正确 如果一个数落在[0.0-EPSINON,0.0+EPSINON]这个闭区间内,我们认为在某个精度内他的值和零值相等,否则不相等。 扩展一下,把0.0替换为任何一个你想比较的浮点数,那我们就可以比较任意两个浮点数的大小了,当然是在这个精度范围内 阅读全文
posted @ 2013-11-06 10:16 crims 阅读(180) 评论(0) 推荐(0) 编辑
摘要: void main(int arg ,char *arv[]){} arg -- 命令行参数总个数arv[0] -- 参数1,程序名 arv[1] -- 参数2,字符串 arv[2] -- 参数3,字符串 arv[3] -- 参数4,字符串 例如,你的可执行程序是 fly.exe 运行命令: fly.exe 123 45 传入主函数的 arg=3 arv[0]: "fly.exe" arv[1]: "123" arv[2]: "45" -------------------- fly.exe 123 45 987 传入主函数的 arg 阅读全文
posted @ 2013-11-06 09:53 crims 阅读(227) 评论(0) 推荐(0) 编辑
摘要: *ptr[4]与(*ptr)[4]所表示的意义是不同的。(*ptr)[4]是指向数组的指针,表示ptr是一个指针,指向一个具有4个元素的数组。其实它也可以视为一个二维数组ptr[][4],因为*和[]是互通的。而*ptr[4],由于[]运算符的优先级高于*运算符,因此,ptr是4个元素组成的数组,数组中的每个元素均是指针。 阅读全文
posted @ 2013-11-06 09:15 crims 阅读(119) 评论(0) 推荐(0) 编辑
摘要: 一、说明指针常量、指向常量的指针和指向常量的常量指针的含义、区别和共同点 首先,以上三种概念的共同点:都指的是指针指针也是一种变量,它存储指定类型的变量的内存地址,如char* 来声明一个字符型指针变量,跟其它变量一样,当其值不可改变时,该指针变量就成为了指针常量,既是常量,它当然一直指向同一个内存地址,而不能被改变。指向常量的指针顾名思义就是说其指向的那个地址的值不是变量而是常量了,即其指向的内存地址的内容将不能被改变,而指针本身则可以改变。 指向常量的指针常量最好理解,结合以上两者的含义即可知道,其特点就是指针本身的值(即指向的内存地址)和指针指向内存地址的内容均是常量,不能被改变。二、c 阅读全文
posted @ 2013-11-06 08:45 crims 阅读(480) 评论(0) 推荐(0) 编辑