摘要: if(window.attachEvent){window.attachEvent("onload",uf_attachFunction);alert("ie");}if(window.addEventListener){alert("ff");window.addEventListener("load",uf_attachFunction,false);}function uf_attachFunction(){ alert("test");}或if (document.all){window 阅读全文
posted @ 2011-09-26 18:00 火腿骑士 阅读(301) 评论(0) 推荐(1) 编辑
摘要: 图1为线性表(ZHAO, QIAN, SUN, LI, ZHOU, WU, ZHENG, WANG)的逻辑状态。头指针 指示链表中第一个结点(即第一个数据元素的存储映像)的存储位置。同时,由于最后一个数据元素没有直接后继,则线性链表中最后一个结点的指针为“空”(NULL)。 图1 线性链表的逻辑状态 由上述描述可见,单链表可由头指针来唯一确定,在C语言中可用“结构指针”来描述。 view plaincopy to clipboardprint?//-----线性表的单链表存储结构----- typedefstructLNode{ElemTypedata;structLNode*next;... 阅读全文
posted @ 2011-09-26 13:09 火腿骑士 阅读(321) 评论(0) 推荐(0) 编辑
摘要: #include <stdlib.h>#include <stdio.h>#include <string.h>int del_char(char* src, char c){ if ( NULL == src) { fprintf(stderr, "del_char failed: invalid input./n"); return -1; } char* pchTemp = (char*)malloc(strlen(src) + 1); if ( NULL == pchTemp) { fprintf(stderr, "de 阅读全文
posted @ 2011-09-25 21:51 火腿骑士 阅读(916) 评论(0) 推荐(0) 编辑
摘要: - 链表的建立、插入和删除数组作为存放同类数据的集合,给我们在程序设计时带来很多的方便,增加了灵活性。但数组也同样存在一些弊病。如数组的大小在定义时要事先规定,不能在程序中进行调整,这样一来,在程序设计中针对不同问题有时需要3 0个大小的数组,有时需要5 0个数组的大小,难于统一。我们只能够根据可能的最大需求来定义数组,经常会造成一定存储空间的浪费。我们希望构造动态的数组,随时可以调整数组的大小,以满足不同问题的需要。链表就是我们需要的动态数组。它是在程序的执行过程中根据需要有数据存储就向系统要求申请存储空间,决不构成对存储区的浪费。链表是一种复杂的数据结构,其数据之间的相互关系使链表分成三种 阅读全文
posted @ 2011-09-25 14:44 火腿骑士 阅读(464) 评论(1) 推荐(0) 编辑
摘要: 程序员们经常编写内存管理程序,往往提心吊胆。如果不想触雷,唯一的解决办法就是发现所有潜伏的地雷并且排除它们,躲是躲不了的。本文的内容比一般教科书的要深入得多,读者需细心阅读,做到真正地通晓内存管理。 1、内存分配方式 内存分配方式有三种: (1)从静态存储区域分配。内存在程序编译的时候就已经分配好,这块内存在程序的整个运行期间都存在。例如全局变量,static变量。 (2)在栈上创建。在执行函数时,函数内局部变量的存储单元都可以在栈上创建,函数执行结束时这些存储单元自动被释放。栈内存分配运算内置于处理器的指令集中,效率很高,但是分配的内存容量有限。 (3) 从堆上分配,亦称动态内... 阅读全文
posted @ 2011-09-25 11:09 火腿骑士 阅读(415) 评论(2) 推荐(0) 编辑
摘要: 简介POSIX thread 简称为pthread,Posix线程是一个POSIX标准线程.该标准定义内部API创建和操纵线程.作用 线程库实行了POSIX线程标准通常称为pthreads.pthreads是最常用的POSIX系统如Linux和Unix,而微软Windowsimplementations同时存在.举例来说,pthreads-w32可支持MIDP的pthread Pthreads定义了一套 C程序语言类型、函数与常量,它以 pthread.h 头文件和一个线程库实现。 数据类型 pthread_t:线程句柄 pthread_attr_t:线程属性 线程操纵函数(简介起见,... 阅读全文
posted @ 2011-09-19 11:31 火腿骑士 阅读(455) 评论(0) 推荐(0) 编辑
摘要: #include <stdlib.h>/*标准库函数*/#include <stdio.h>/*I/O函数*/#include <string.h>/*字符串函数*/#include <ctype.h>/*字符操作函数*/typedef struct bookinfo{int id;char name[20];int count;char nametype[20];//分类名称 char descript[50];//描述int country;//国家 }bookinfo;static bookinfo books;typedef struct 阅读全文
posted @ 2011-09-16 17:16 火腿骑士 阅读(319) 评论(0) 推荐(1) 编辑
摘要: char* buf = "安吉轻松2日游";int len;char * tmp = NULL;len = sizeof(char);//len=strlen(buf);strlen是指一个字符串的实际长度,从开始算到'\0'结束,而sizeof指一个数组定义的类型容量大小tmp = (char*)malloc(len);memset(tmp,0x00,len);//初始化指针内存 strcpy(tmp,buf);printf("tmp=%s\n",tmp);free(tmp);------------------------------ 阅读全文
posted @ 2011-09-13 17:04 火腿骑士 阅读(367) 评论(0) 推荐(0) 编辑
摘要: #include <malloc.h>#include <stdlib.h>#include <stdio.h>#include "queue.h"static resend_queue* head;static resend_queue* now;static resend_queue* tail;static resend_queue* temp;static resend_queue* del;static intqueue_num;static pthread_mutex_t lock_mute;bool queue_init() 阅读全文
posted @ 2011-09-13 11:25 火腿骑士 阅读(566) 评论(0) 推荐(0) 编辑
摘要: ************************************************************************数据类型定义***********************************************************************/typedef unsigned long long D_UINT64;typedef unsigned long D_UINT32;typedef unsigned short D_UINT16;typedef unsigned char D_UINT8;typedefunsigned longD 阅读全文
posted @ 2011-09-05 11:17 火腿骑士 阅读(348) 评论(0) 推荐(1) 编辑