随笔分类 -  C语言学习

记录C语言学习中的点点滴滴 大部分内容来自《优秀程序员之路——C开发经验及技巧大汇总》
摘要:无限循环有两种常用的方法:while(1) 和 for(; ; ) 。两种方法的效果一样,相比之下,哪种更好些?编译后代码对比:1、while( 1 );00401028 mov eax,10040102D test eax,eax0040102F je main+23h (00401033)00401031 jmp main+18h (00401028)2、for( ; ; );00401033 jmp main+23h (00401033)对比发现,for(; ;)指令少,不占用寄存器,而且没有判断、跳转,比while( 1 )要好一些。PS:在VC6.0中,设断点调试,菜单View -& 阅读全文
posted @ 2013-01-24 21:39 断肠人在刷牙牙 阅读(839) 评论(2) 推荐(0)
摘要:1、#define宏定义,在编译前由预处理器对代码作字符串的替换。宏定义不是语句,后面不加“;”。2、typedeftypedef是在编译时处理的,在自己的作用域内给一个已经存在的类型一个别名3、例:typedef int * int_ptr; 与 #define int_ptr int *作用都是用int_ptr代表 int * ,但是二者不同,正如前面所说 ,#define在预处理 时进行简单的替换,而typedef不是简单替换 ,而是采用如同定义变量的方法那样来声明一种类型。即相当于:#define int_ptr int * int_ptr a, b; //相当于int ... 阅读全文
posted @ 2013-01-17 20:54 断肠人在刷牙牙 阅读(856) 评论(2) 推荐(1)