
复习随笔
baozi1159
珍惜时间,远离百度。
展开
-
一个复习数据结构比较好的网站
http://student.zjzk.cn/course_ware/data_structure/web/main.htm转载 2011-11-01 03:07:28 · 516 阅读 · 0 评论 -
使用位逻辑运算来实现位向量
使用位逻辑运算来实现位向量,指的是实现位向量的设置、清零、探测三个操作。代码如下:private const int bitsPerWord = 32;private const int shift = 5;private const int mask = 0x1F;private const int n = 10000000;private static readon转载 2012-08-23 14:23:22 · 717 阅读 · 0 评论 -
C/C++中extern关键字详解
基本解释:extern可以置于变量或者函数前,以标示变量或者函数的定义在别的文件中,提示编译器遇到此变量和函数时在其他模块中寻找其定义。此外extern也可用来进行链接指定。 也就是说extern有两个作用,第一个,当它与"C"一起连用时,如: extern "C" void fun(int a, int b);则告诉编译器在编译fun这个函数名时按着C的规则去翻译相应的函数名而转载 2012-07-26 09:10:52 · 665 阅读 · 0 评论 -
C语言清空输入缓冲区的N种方法对比
C语言中有几个基本输入函数://获取字符系列int fgetc(FILE *stream);int getc(FILE *stream);int getchar(void);//获取行系列char *fgets(char * restrict s, int n, FILE * restrict stream);char *gets(char *s);//可能导致溢出,用fgets代转载 2012-08-09 17:26:08 · 925 阅读 · 0 评论 -
C语言清空输入缓冲区的N种方法对比
C语言中有几个基本输入函数://获取字符系列int fgetc(FILE *stream);int getc(FILE *stream);int getchar(void);//获取行系列char *fgets(char * restrict s, int n, FILE * restrict stream);char *gets(char *s);//可能导致溢出,用fgets代转载 2012-08-09 17:25:50 · 150 阅读 · 0 评论 -
结构体对齐的问题
C语言结构体对齐也是老生常谈的话题了。基本上是面试题的必考题。内容虽然很基础,但一不小心就会弄错。写出一个struct,然后sizeof,你会不会经常对结果感到奇怪?sizeof的结果往往都比你声明的变量总长度要大,这是怎么回事呢? 开始学的时候,也被此类问题困扰很久。其实相关的文章很多,感觉说清楚的不多。结构体到底怎样对齐? 有人给对齐原则做过总结,具体在哪里看转载 2011-11-09 02:12:13 · 437 阅读 · 0 评论 -
函数调用方式的区别[thiscall,__cdecl,__stdcall]
通常在使用VC进行函数定义时会指定该函数调用方式,诸如: int __stdcall max(int a, int b) { return a>b?a:b; } int __cdecl min(int a, int b) { return a } bool __fastcall equal(int a, int b) {转载 2011-11-09 00:37:08 · 732 阅读 · 0 评论 -
zzz
#include#includetypedef struct polynomial{ int coef; int exp; struct polynomial *next;}polylist;polylist *creat (int n,int a[][2]){ polylist *h,*p,*q; int i; h=(polylist *)malloc(sizeof(转载 2011-11-08 19:08:20 · 107 阅读 · 0 评论 -
程序执行的详细过程
uClinux下用户程序的执行 之所以从用户程序谈起,是因为我们平常接触最多的还是应用程序。从应用程序引出到操作系统我觉得比较自然。下面就从一个简单例子介绍一个程序如何在操作系统中运行。 假如有个c程序: int main(int argc, char **argv[]) { printf("hello world!");转载 2011-11-08 19:04:25 · 11849 阅读 · 0 评论 -
C语言程序的内存布局
C语言程序的内存布局一:C语言程序的存储区域 C语言编写的程序经过编绎-链接后,将形成一个统一的文件,它由几个部分组成,在程序运行时又会产生几个其他部分,各个部分代表了不同的存储区域: 1.代码段(Code or Text): 代码段由程序中的机器码组成。在C语言中,程序语句进行编译后,形成机器代码。在执行程序的过程中,CPU的程序计数器指向转载 2011-11-05 21:03:44 · 785 阅读 · 0 评论 -
求一个字节(8bit)有几位为"1"的O(1)解
真是很极端的做法啊宋宝华 21cnbao@21cn.com 软件报问题:对于一个字节(8bit)的数据,求其中“1”的个数,要求算法的执行效率尽可能地高。分析:作为一道著名外企的面试题,看似简单,实则可以看出一个程序员的基本功底的扎实程度。你或许已经想到很多方法,譬如除、余操作,位操作等,但都不是最快的。本文一步步分析,直到最后给出一个最快的方法,相信你看到本文最后的那个最转载 2011-11-05 14:40:50 · 2736 阅读 · 0 评论 -
用异或来交换两个变量效率分析
用异或来交换变量是错误的 陈硕 (giantchen_AT_gmail)Blog.youkuaiyun.com/Solstice 翻转一个字符串,例如把 "12345" 变成 "54321",这是一个最简单的不过的编码任务,即便是 C 语言初学者的也能毫不费力地写出类似如下的代码: // 版本一,用中间变量交换两个数,好代码void reverse_by_swap(char*转载 2011-11-01 03:28:29 · 2980 阅读 · 1 评论 -
不用中间变量交换两个double类型
#include double aa=3.1415926; double bb=9643380.2345; void xchgdbl(double *a,double *b) { *(int *)a ^= *(int *)b; *(int *)b ^= *(int *)a; *(int *)a ^= *(int *转载 2011-11-01 03:40:33 · 658 阅读 · 0 评论 -
有用的git分支模型
In this post I present the development model that I’ve introduced for all of my projects (both at work and private) about a year ago, and which has turned out to be very successful. I’ve been meaning转载 2013-01-15 16:37:01 · 507 阅读 · 0 评论