全部博文(215)
发布时间:2013-11-28 18:12:17
对于printf 函数,想必大家都不是很陌生。 例如: int a = 3; printf("%d %d", a, a *= 2); 输出的结果是6 6 我想那些初学C语言的同学可能会有些疑问。为什么结果不是.........【阅读全文】
发布时间:2013-11-27 10:42:58
本文从一个实例入手来讲解函数调用过程中栈上数据的分布。示例代码:#includevoidfunc1(int a, int b, int c){ a+ b + c; return;}intmain(){ inta=1,b=2,c=3; intd=10; printf("&a:0x%08x,&b:0x%08x, &c:0x%08x, &d:0x%08x\n", &a, &b,&c, .........【阅读全文】
发布时间:2013-11-27 09:15:19
这一直是一个迷惑人的问题,网上找竟然找不到答案,所以这是本文的目的。 C或C++的编译器是被设计成从右向左的顺序处理函数调用中的变元的。但是编译器扫描变元的顺序是从左向右的。使用从左路向右的顺序,编译器只需要一边扫描变元一边生成代码即可,但从右向左的顺序却要编译器记住扫描过的所胡变元。为什么C++.........【阅读全文】