
C语言原理
ARMBULL
心并不远,梦并不远。
展开
-
宏中"#"和"##"的用法
宏中"#"和"##"的用法 一、一般用法 我们使用#把宏参数变为一个字符串,用##把两个宏参数贴合在一起. 用法: #include #include using namespace std; #define STR(s) #s #define CONS(a,b) int(a##e##b) int main() { pr转载 2012-09-26 09:54:03 · 720 阅读 · 0 评论 -
C语言“可变参数”的研究
首先在介绍可变参数表函数的设计之前,我们先来介绍一下最经典的可变参数表printf函数的实现原理。 一、printf函数的实现原理 在C/C++中,对函数参数的扫描是从后向前的。C/C++的函数参数是通过压入堆栈的方式来给函数传参数的(堆栈是一种先进后出的数据结构),最先压入的参数最后出来,在计算机的内存中,数据有2块,一块是堆,一块是栈(函数参数及局部变量在这里),而栈是从内存的高地址向低地转载 2012-09-26 16:30:55 · 880 阅读 · 0 评论 -
#ifdef __cplusplus extern "C" { #endif 的解释
#ifdef __cplusplus extern "C" { #endif 的解释 在看代码时看到如下的代码: #ifdef __cplusplus extern "C" { #endif 时常在cpp的代码之中看到这样的代码: #ifdef __cplusplus extern "C" { #endif //一段代码转载 2012-09-24 09:12:30 · 775 阅读 · 0 评论 -
程序员才能理解的笑话
1、栈和队列的区别是啥? 吃多了拉就是队列;吃多了吐就是栈 2、世界上最遥远的距离不是生与死,而是你亲手制造的BUG就在你眼前,你却怎么都找不到她。。。 3、《c++程序设计语言》比《c程序设计语言》厚了几倍。。。果然有了对象就麻烦很多。。。 4、怎么使用面向对象的方式变得富有?继承。 5、为什么程序员总是分不清万圣节和圣诞节?因为 Oct 31 == Dec 25。转载 2012-10-24 16:49:38 · 895 阅读 · 0 评论 -
如何比较两个算法的效率
在学算法的时候,经常会涉及分析算法的复杂度和效率的问题,按照书本上的理论通常也能够大概推出个结论。通常都是根据算法中重要的语句去推算,例如for 循环语句等。那么有没有可以用程序去真正上机实验的办法呢? 其实方法也是很简单,如果我们用的是C语言,可以利用#include 文件中的ftime()函数完成。具体举例如下: 程序1: #include #i转载 2012-11-28 10:14:27 · 6673 阅读 · 1 评论