递归和非递归

递归调用比非递归调用效率低。。。。

做了个实验。。结果正好相反。。。

非递归的截图

递归调用的没有截图。。不过效率比这个高。。有点郁闷。。跟想象的不一样。。

还没找到答案

<草稿>编程的世界丰富多彩

看了c专家编程,编程的世界是丰富多彩的.用魔术师的手把枯燥的代码变成丰富多彩的软件!兴趣是最重要的!设想了一下以后人们的家居环境.微电脑远程控制全部家用电器.语音识别技术的支持.电脑已经不是我们所想象的了.他是我们的管家!这个设想应该会在不久的将来实现!I think.

左值和右值 PK l-value和r-value?(转自CSDN)

我们在看书的时候,经常可以看到关于 左值(L-value) 和 右值(R-value) 的概念,那么到底什么是左值,什么是右值,它们之间的区别又是在哪里呢?

    通俗的讲,左值就是能够出现在赋值符号左面的东西,而右值就是那些可以出现在赋值符号右面的东西了。

举个很简单的例子:

a=b+100;

那么这里a就是左值,b+25就是一个右值。左值和右值之间是不一定都能互换的,上面的这个例子就是不能互换的,如果写成

b+100=a;

大家都能看出来这样写会不编译通过的,因为编译器无法判断b+100的内存地址,所以不能操作。

看了这个例子,可以做一个总结,左值必须应该是一个变量或者是表达式等,但是它的物理位置是可以确定的,而右值不一定,这也是它们两者之间的区别。

关于左值是表达式的例子有数组,还有指针这些都可以。

int array[10];

int a=5;

array[a+3]=10; //这里左值就是一个数组表达式了

此文完。

另外:liotta朋友给了一些其他方面的提示 (左值右值翻译可能有些问题)

错了,没有什么左值和右值!

翻译害人不浅,

L-value中的L指的是Location,表示可寻址。The “l” in lvalue can be though of as location

R-value中的R指的是Read,表示可读。The “r” in rvalue can be thought of as “read” value.   

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@

CSDN论坛上的解释

i++与++i的区别

当然有区别: 效率与表达式值类型的区别


1、++i 的效率确实比 i++ 的要高,如果要执行多次的循环,这个效率问题是显然的。因为对 ++i 来说,整个表达式的值就是 i 的值,没有进行中间值的考贝工作,所以效率高;而对于 i++ 来说,整个表达式的值是 i 增1之前的值,它会考贝一份 i 增 1 之前的值作为整个表达式的值,所以效率低。


2、++i 这个表达式产生的是一个左值,可以把这个表达式用在一个需要一个左值的地方,如赋值表达式的左边:++i = 8; 而 i++ 产生的是一个右值,不能用在一个需要左值的地方。   

《疯狂的程序员》

花了将近一个多星期的时候,看完了《疯狂的程序员》这本书。。。可以称之谓小说吧。。里面不乏幽默搞笑之作。。加上计算机专业术语。。再加上主人公“绝影”的生活和情感。。

跟“燕儿”成为情侣。。到最后分手。。做“普通”朋友。。。。

跟BOSS Liu刚开始是敌对。。到后来成了最亲密无间的CLOSE朋友。。

一个接一个的CASE。。让绝影的功力大增。。技术上得到了质的飞越。。也同时为后来绝影和燕儿的分手埋下了伏笔。。程序员注定是一个不平常的工作。。

资本家只是利用程序员天生不服输的心理来得到自己的目的。。。

看完了。。心里平静了许多。。希望以后都是这样的平静。。越平静越好。。~~

几个名词

DDK——Device Driver Kit,设备驱动程序开发包。 ::这个包包在那得索得?


WDK——Windows Driver Kit,Windows驱动程序开发包,就是DDK升级改名了。 ::Window驱动程序开发包?是一个工具还是什么?


VxD——Virtual Device Driver,虚拟设备驱动程序,9X中的一种驱动程序。::开发出来的驱动9x才能用?


WDM——Windows Driver Model,Windows驱动程序模型,98以上版本的一种驱动程序。 ::Vista/2003/2000/XP都是用WDM模型驱动吗?