- 博客(8)
- 资源 (20)
- 收藏
- 关注

原创 (++i)+(++i)+(++i)之类 顺序点和副作用
/*副作用和顺序点可参考c primer plus 第五版 p101、103底、《浅谈C/C++中的顺序点和副作用》、http://bbs.youkuaiyun.com/topics/370153775 */#include int main(){ int i=3; int result=(++i)+(++i)+(++i); printf("%d\n",result); //结果未定义,一些编译
2012-11-12 19:12:14
1078

原创 C语言和C++中const的区别
//vs2008下:#include #include int main(){ const int n; //如果后缀改为.cpp的话报错error C2734: “n”: 如果不是外部的, //则必须初始化常量对象;如果后缀改为.c的话一切正常 const int i=1; int *p=(int *)&i; *p=2; printf("%d\n",i); //如
2012-11-11 01:37:41
452

转载 VC调试
VC调试时按Alt+8、Alt+6和Alt+5,打开汇编窗口、内存窗口和寄存器窗口看每句C对应的汇编、单步执行并观察相应内存和寄存器变化,这样过一遍不就啥都明白了吗。对VC来说,所谓‘调试时’就是编译连接通过以后,按F10或F11键单步执行一步以后的时候,或者在某行按F9设了断点后按F5执行停在该断点处的时候。(Turbo C或Borland C用Turbo Debugger调试,Linu
2012-11-10 14:55:27
318
转载 宏定义中的空格
另外还有一个问题需要引起注意,看下面例子: #define SUM (x) (x)+(x)这还是定义的宏函数SUM(x)吗?显然不是。编译器认为这是定义了一个宏:SUM,其代表的是(x) (x)+(x)。为什么会这样呢?其关键问题还是在于SUM 后面的这个空格。所以在定义宏的时候一定要注意什么时候该用空格,什么时候不该用空格。这个空格仅仅在定义的时候有效,在使用这个宏函数的时候
2012-11-13 00:34:49
1117
原创 c词法分析 贪心法
1、编译器处理的每个符号应该尽可能多的包含字符。2、编译器以从左向右的顺序一个一个尽可能多的读入字符。3、当即将读入的字符不可能和已读入的字符组成合法符号为止。 i=3; result=++i+++i+++i;//根据贪心法分析,((++i)++)..报错error C2105: “++”需要左值 printf("%d\n",result); i=3; result=i+
2012-11-12 19:19:00
513
2
转载 程序猿要学的知识
VC6调试时按Alt+8,TC或BC用TD调试,打开汇编窗口看每句C对应的汇编。计算机组成原理→DOS命令→汇编语言→C语言、代码书写规范→数据结构、编译原理、操作系统→计算机网络、数据库原理、正则表达式→其它语言、架构……转自http://bbs.youkuaiyun.com/topics/320248056
2012-11-11 13:05:55
318
众多名企(华为_阿卡_TCL_索尼_微软_百度_大唐)笔试面试题(C居多含C++及数据结构)改.doc
2013-07-14
win32asm.chm
2013-07-14
汇编程序指南
2013-07-14
简明X86汇编语言教程[RUIWIN整理版].CHM
2013-07-14
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人