- 浏览: 728559 次
- 性别:
- 来自: 北京
-
最新评论
-
wxweven:
Surmounting 写道既然 Java 的跳表那么少,我决 ...
SkipList 跳表 -
暮雪云然:
写的不错,很透彻
Java静态内部类 -
bzhao:
好,赞扬!
Linux信号详解 -
jacktao219:
赞一个~! ,现在正在看redis 所以接触到跳表
SkipList 跳表 -
is_leon:
vote--后还要判断是否为0吧,如果为0则废掉重新置位can ...
现在有一个整数数组,已知一个数出现的次数超过了一半,请用O(n)的复杂度的算法找出这个数
文章列表
1. strlen(char *str) 返回str中除去结束字符\0的字符数 2. 系统对所有""号内的字符串,无论是全局的和局部的,都会在字符串区域开辟一块内存。例如: char *p = "hello"; 系统为hello开辟一块内存,并把p指向这块内存。3. 初始化动态分配的字符串不能使用=,应使用strcpy,例如把world追加到hello的末尾:
// 正确的方法 char *p = (char *)malloc(11); char *str = "world"; strcpy(p, "hello" ...
- 2009-01-14 12:03
- 浏览 1754
- 评论(0)
Lecture 5 Memorky Layout and Allocation使用静态内存分配方式的不一定都是静态变量, 也可能是全局变量但静态变量一定是静态内存分配int a;int b = 1;static int c; //静态全局变量:只在文件内使用static int d = 1;char *str = "str";static char *str1 = "str1";void func() { int e; int f = 1; static int g; //静态局部变量:只在函数内使用, 函数执行完后并不释放, 可供下次调用函数时使用 s ...
- 2009-01-11 13:50
- 浏览 1125
- 评论(0)
1.intermediate representation,IR,中间代码表示2.literal table,常数表3.front end,前段4.back end,后端5.register transfer language,RTL,寄存器传递语言5.rtl's expression,RTX,rtl表达式
- 2008-11-23 22:54
- 浏览 1147
- 评论(0)
fgets函数的理解
- 博客分类:
- c
fget函数的原型如下:char *fgets
(char *buf, int n, FILE *fp)
功能:从文件流读取一行,送到缓冲区,使用时注意以下几点:
1.当遇到换行符或者缓冲区已满,fgets就会停止,返回读到的数据,
注意的是不能用fgets读二进制文件,因为fgets会把二进制文件当成文本文件来处理,这势必会产生乱码。
2.每次调用,fgets都会把缓冲区的最后一个字符设为 \0,这意味着最后一个字符不能用来存放需要的数据,
所以如果有一行,含有 LINE_SIZE 个字符(包括换行符),要想把这行读入缓冲区,请把参数 n 设为 LINE_SIZE+ ...
/* 注意,形如2[3]表示2的3次方 */实例一:38414.4 的IEEE浮点数表示法(double):
double型的指数域有11位,所以偏置值为 2[11-1]-1 = 1023
38414.4 = 1001011000001110.0110011001100110011001100110011001101 = 1.0010110000011100110011001100110011001100110011001101*2[15]
//0.4=0.5*0+0.25*1+0.125*1+0.0625*0+……没完没了,但小数域只需52位,整数部分已经有了15位,故小数部分只需取37 ...
- 2008-10-30 18:41
- 浏览 2015
- 评论(0)
C语言类型转换的原则
- 博客分类:
- c
c语言类型转换的根本原则是必须保证数据不能丢失!在这个基础上,总结两个基本原则.
1) 若两种类型的比特数不同,转换成比特数高的类型如:-1 > (unsigned char)1会把(unsigned char)1转换成int型,变成1,表达式的值为false
2) 若两种类型的比特数相同,且一种有符号,一种无符号,则转换成无符号类型。如:-1 > (unsigned int)1会把int型的-1转换成(unsigned int),-1的二进制11111111111111111111111111111111,
无符号数等于4294967295, 所以表达式的值为 tr ...
个人认为SSD6 Exercise 1是卡内基有史以来最经典的题目,本来想写一篇大家都看得懂的长篇大论,无奈时间不够,只好延续以往记流水帐的风格,把心得一条一条列出来。 心得1.从汇编的层次去理解c语言传值和传地址的区别.看实例
intmain(intargc,char*argv[]){
intstart=10;
intstride=3;
intkey3=-1;
intkey4=777;
char*msg1;
process_key34(&key3,&key4); //传地址
msg1=extract_message(start,stride); ...
- 2008-10-24 20:23
- 浏览 2743
- 评论(0)
1.贵公司对这项职务的工作内容和期望目标为和?有没有什么部分是我可以努力的地方? 2.贵公司是否有正式或非正式教育训练? 3.贵公司的升迁管道如何? 4.贵公司的多角化经营,而且在海内外都设有分公司,将来 ...
- 2008-09-19 22:56
- 浏览 1178
- 评论(0)
先看看一段fork的程序
int main()
{
pid_t pid;
语句 a;
pid = fork();
语句 b;
}
1.当程序运行到 pid = fork()时,这个进程马上分裂(fork的中文意思)成两个进程,我们称为父进程和子进程,子进程是父进程的副本,副本的意思是子进程把父进程的数据空间,堆和栈都复制一遍给自己用,这要求在内存给子进程分配和父进程同样大的存储空间,这样,父,子进程拥有相同的数据,但不会共享存储空间,他们只是共享正文段。
2.apue2这样说fork的执行:fork函数被 ...
1.判断文件类型的两种方法
1):使用宏函数
struct
stat buf;
lstat(
"/home"
,buf);
if
(S_ISDIR(buf.st_mode)){
printf(
"目录文件"
);
}
2):使用st_mode和S_IFMT的与运算结果
struct
stat buf;
lstat(
"/home"
,&buf);
if
(buf.st_mode&S_IFMT==S_IFDIR ...
- 2008-09-10 22:42
- 浏览 1354
- 评论(0)
<h1 id="h">test</h1>var h1 = document.getElementById("h");如果要添加 class="blue bold",有三种方法1.h.setAttribute("class","blue bold");2.h.setAttribute("className","blue bold");3.h.className = "blue bold";第1种方法只支持firefo ...
- 2008-07-17 13:57
- 浏览 1290
- 评论(0)
*元素-1<h1id="h1">AnHTMLDocument</h1>varelement=document.getElementById("h1")element.nodeType = 1element.nodeName = H1element.nodeValue = null*文本-3varelement = document.getElementById("h1")
vartext = element.firstChildtext.nodeType = 3text.nodeName = #texttext ...
- 2008-07-17 02:26
- 浏览 1082
- 评论(0)
包括3个文件:AvlNode.h AvlTree.h和main.cpp1.节点类的定义AvlNode.h
#ifndef AVLNODE_H#define AVLNODE_H#include <iostream>using namespace std;template <class T> class AvlTree; //声明AvlTree类template <class T>class AvlNode{public: friend class AvlTree<T>;//友元类 //构造函数 AvlNode():left(NULL),right ...
- 2008-06-08 19:47
- 浏览 1430
- 评论(0)
atof()将字符串转换成浮点数的函数 原形:double atof(const char *s) 功能:把s所指向的字符串转换成double类型。 s格式为:符号 数字.数字 E符号 数字 返回值:字符串的转换值。 头文件:math.h、stdlib.h atoi()将字符串转换 ...
- 2008-04-15 16:49
- 浏览 2794
- 评论(0)
1.中缀表达式转后缀表达式<colorscheme colors="#ffffff,#000000,#1c1c1c,#333399,#00e4a8,#ffcf01,#ff0000,#3333cc"></colorscheme>
中缀:a/(b-c)+d*e后缀: abc-/de*+转换步骤:(1)从左到右扫描中缀表达式,遇到#转(6);(2)遇到操作数直接输出;(不进栈)(3)遇到“)”,则连续出栈输出,直到遇到“(”为止(“(”出栈但不输出);否则(4)若是其它操作符,则与栈顶的操作符比较优先级;若优先级小于栈顶的优先级,如a*b+c,说明*号所 ...
- 2008-04-15 13:18
- 浏览 1854
- 评论(0)