摘要: 今天发现一个奇怪的现象,写了一个c程序,用gcc编译器编译,居然没有报错,而且还能正常运行看代码: 1 #include <stdio.h> 2 #include <stdlib.h> 3 4 int main() 5 { 6 char *p = (char*)malloc(1); //申请了一个很小的空间 7 printf("len is %d\n", strlen(p));//打印p所指的大小 8 printf("addr:0x%x\n", (int)p);//打印p所指的内存地址 9 gets(p);//从键盘读入一行字符1 阅读全文
posted @ 2013-03-12 18:11 mender 阅读(240) 评论(0) 推荐(0) 编辑
摘要: 1. 求数组next[j]的算法如下,它只与模式串有关,与目标串无关 1 void cal_next(char *p, int *next, int len) 2 {//important!! array rangs from 0 to len-1 3 int i = -1, j = 0;//i == -1 means back to the first elem of p[]; 4 next[0] = -1; 5 //except first element, next[j]=k means that before j, there are k elem match... 阅读全文
posted @ 2013-03-12 17:29 mender 阅读(166) 评论(1) 推荐(0) 编辑
摘要: 共用体很少用,今天遇到一个问题: 1 #include <stdio.h> 2 #include <stdlib.h> 3 4 int main() 5 { 6 union EXAMPLE 7 { 8 struct 9 {10 int x;11 int y;12 } in;13 int a;14 int b;15 } e;16 e.a=1;17 e.b=2;18 e.in.x=e.a*e.b;19 e.in.y... 阅读全文
posted @ 2013-03-12 17:21 mender 阅读(114) 评论(0) 推荐(0) 编辑
摘要: hard linkhard link是linux中的一种文件共享方式,它的原理是共享inode。当建立一个hard link时,inode的共享计数加1,删除时减1(若减为0,则删除文件)。建立hard link0. 命令格式: ln src_file dis_file1. 源文件file.src, inode = 519777, 共享计数 = 12.lnfile.src file.hardlink文件file.hardlink, inode = 519777(与源文件相同), 共享计数 = 2注意1. inode相同意味着两个文件是完全等效的,只是名字不一样。(可以理解为对不同的文件取了各种 阅读全文
posted @ 2013-03-12 17:04 mender 阅读(301) 评论(0) 推荐(0) 编辑