![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
c/c++
fjp790308446
这个作者很懒,什么都没留下…
展开
-
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 · 279 阅读 · 0 评论 -
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 · 427 阅读 · 0 评论 -
程序猿要学的知识
VC6调试时按Alt+8,TC或BC用TD调试,打开汇编窗口看每句C对应的汇编。 计算机组成原理→DOS命令→汇编语言→C语言、代码书写规范→数据结构、编译原理、操作系统→计算机网络、数据库原理、正则表达式→其它语言、架构…… 转自http://bbs.csdn.net/topics/320248056转载 2012-11-11 13:05:55 · 287 阅读 · 0 评论 -
(++i)+(++i)+(++i)之类 顺序点和副作用
/*副作用和顺序点可参考c primer plus 第五版 p101、103底、《浅谈C/C++中的顺序点和副作用》、http://bbs.csdn.net/topics/370153775 */ #include int main() { int i=3; int result=(++i)+(++i)+(++i); printf("%d\n",result); //结果未定义,一些编译原创 2012-11-12 19:12:14 · 1047 阅读 · 0 评论 -
宏定义中的空格
另外还有一个问题需要引起注意,看下面例子: #define SUM (x) (x)+(x) 这还是定义的宏函数SUM(x)吗?显然不是。编译器认为这是定义了一个宏:SUM,其代表的是(x) (x)+(x)。 为什么会这样呢?其关键问题还是在于SUM 后面的这个空格。所以在定义宏的时候一定要注意什么时候该用空格,什么时候不该用空格。这个空格仅仅在定义的时候有效,在使用这个宏函数的时候转载 2012-11-13 00:34:49 · 1040 阅读 · 0 评论 -
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 · 483 阅读 · 3 评论 -
易错优先级
转载 2012-11-12 19:47:11 · 205 阅读 · 0 评论 -
C语言隐式类型转换
转载 2012-11-12 20:54:04 · 347 阅读 · 0 评论