
笔记
文章平均质量分 66
malina90
踏踏实实的走完学生生涯的这最后一年,加油~~
展开
-
关于#ifdef,#else,#endif,#if
预处理就是在进行编译的第一遍词法扫描和语法分析之前所作的工作。说白了,就是对源文件进行编译前,先对预处理部分进行处理,然后对处理后的代码进行编译。这样做的好处是,经过处理后的代码,将会变的很精短。关于预处理命令中的文件包含(#include),宏定义(#define),书上已经有了详细的说明,在这里就不详述了。这里主要是对条件编译(#ifdef,#else,#endif,#if等)进行说明。以转载 2014-09-18 11:23:00 · 375 阅读 · 0 评论 -
好牛x的swap函数!
void swap( int *a, int *b){*a ^= *b ^= *a ^= *b;}chu原创 2014-09-18 11:58:59 · 338 阅读 · 0 评论 -
C语言中可变参数的宏定义
printf()和fprintf()这些输出函数的参数是可变的,在调试程序时,你可能希望定义自己的参数可变的输出函数,那么可变参数宏会是一个选择。C99中规定宏可以像函数一样带有可变参数,比如#define LOG(format, ...) fprintf(stdout, format, __VA_ARGS__)其中,...表示参数可变,__VA_ARGS__在预处理中转载 2014-09-24 11:29:13 · 821 阅读 · 0 评论 -
程序员的自我修养---笔记---第一部分 温故而知新
第一部分温故而知新1、 计算机科学领域的任何问题都可以通过增加一个间接的中间层来解决。Any problem in computer science can be solved by another layer ofindirection.2、 层间接口:interface。每个中间层都是对他下面的那层的包装和扩展。3、 层4、 Multiprogramming 多道程序/Time原创 2014-09-15 19:09:12 · 436 阅读 · 0 评论 -
变量初始化规则 ----from c++primer
当定义没有初始化的变量时,系统有时会帮我们初始化变量.这时,系统提供什么样的值取决于变量的类型,也取决于变量定义的位置.内置类型变量是否自动初始化取决于变量定义的位置。在函数体外定义的变量都初始化成0,在函数体里定义的内置类型变量不进行自动初始化。除了用作赋值操作符的左操作数,未初始化变量用作任何其他用途都是没有定义的。未初始化变量引起的错误难于发现。所以,永远不要依赖未定义行为.未初始化原创 2014-10-15 08:35:49 · 374 阅读 · 0 评论 -
heap and stack
简单的可以理解为: heap:是由malloc之类函数分配的空间所在地。地址是由低向高增长的。 stack:是自动分配变量,以及函数调用的时候所使用的一些空间。地址是由高向低减少的。 预备知识—程序的内存分配 一个由c/C++编译的程序占用的内存分为以下几个部分 1、栈区(stack)— 由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其操作方式类似于数据转载 2015-01-08 21:41:16 · 417 阅读 · 0 评论