03 2014 档案

稀里糊涂的队列
摘要:链队列typedef struct QNode{ QElemType data; struct QNode *next;}QNode,* QueuePtr;typedef struct { QueuePtr front;//队头指针 QueuePtr rear;//队尾指针} LinkQueue;1.构造空队列Status InitQueue(LinkQueue &Q){ Q.front=Q.rear=(QueuePtr)malloc(sizeof(QNode)); if(!Q.front) exit(OVERFLOW); //存储分配失败 Q.front->next=NULL; 阅读全文

posted @ 2014-03-27 20:18 droidxin 阅读(260) 评论(0) 推荐(0)

摘要:定义栈的结构体typedef struct { SElemType * base;//怎么base会关键字显示 SElemType * top; int stacksize;}SqStack;1.初始化一个空栈SStatus InitStack(SqStack & S){ S.base=(SElemType *)malloc(STACK_INIT_SIZE * sizeof(SElemType)); if(!S.base) exit(OVERFLOW); S.top=S.base; S.stacksize=STACK_INIT_S... 阅读全文

posted @ 2014-03-26 22:10 droidxin 阅读(265) 评论(0) 推荐(0)

typedef 和 typedef struct 的用法及区别
摘要:typedef声明,简称typedef,为现有类型创建一个新的名字。比如人们常常使用typedef来编写更美观和可读的代码。所谓美观,意指typedef能隐藏笨拙的语法构造以及平台相关的数据类型,从而增强可移植性和以及未来的可维护性1.定义易于记忆的类型名例如:typedef int size;此声明定义了一个int的同义字,名字为size。注意typedef并不创建新的类型。它仅仅为现有类型添加一个同义字。你可以在任何需要int的上下文中使用size:void measure(size * psz);size array[4];定义一个typedef,每当要用到相同类型和大小的数组时,可以这 阅读全文

posted @ 2014-03-24 09:55 droidxin 阅读(594) 评论(0) 推荐(0)

线性表——链式表现和实现
摘要:1.单链表查找Status GetElem_L(LinkList L,int i,ElemType &e){ //L是带头结点的单链表的头指针 p=L->next; //初始化,p指向第一个结点 j=1; //j为计数器 while(p&&jnext; ++j; } if(!p||j>i) return ERROR; //返回错误 e=p->data; //取第i个元素 return OK;}2.向单链表中插入一个数据Status ListInsert_L... 阅读全文

posted @ 2014-03-24 09:40 droidxin 阅读(400) 评论(0) 推荐(0)

线性表——顺序表现和实现
摘要:1.向当前线性表插入数据Status ListInsert_Sq(SqList &L,int i,ElemType e){if(iL.length+1)return ERROR; //i不合格if(L.length>=L.listsize){newbase=(ElemType*)realloc(L.elem,(L.listsize+LISTINCREMENT)*sizeof(ElemType)); //重新分配存储空间if(!newbase)exit(OVERFLOW); //如果分配空间失败L.elem=newbase; //新基址L.listsize+=LI... 阅读全文

posted @ 2014-03-22 19:22 droidxin 阅读(415) 评论(0) 推荐(0)

真正认识realloc
摘要:har* p = malloc(1024);char* q = realloc(p,2048);现在的问题是我们应该如何处理指针 p。 刚开始按照我最直观的理解,如果就是直接将 p = NULL;。 到最后只需要释放 q的空间就可以了。因为最近在做个封装。结果在做单元测试的时候发现。有时候我在 free(q); 的时候会出错。这样我就郁闷了。后来仔细一跟踪,发现 realloc 完以后 q 和 p 的指针地址是一样。不过有时候又不一样。仔细查了下资料。得到如下信息: 1.如果 当前连续内存块足够 realloc 的话,只是将p所指向的空间扩大,并返回p的指针地址。 这个时候 q 和 p 指向的 阅读全文

posted @ 2014-03-22 17:39 droidxin 阅读(349) 评论(0) 推荐(0)

温度传感器ds18b20的随手笔记
摘要:DS18b20的基本使用 阅读全文

posted @ 2014-03-22 17:09 droidxin 阅读(156) 评论(0) 推荐(0)

MSP430低功耗设置小结
摘要:设置低功耗模式也就是对SR状态寄存器当中的位进行操作SCG0.SCG1,CPUOFF,OSCOFF等位进行操作如果我们要设置低功耗模式,那一般来说也是要设置 中断的,在中断函数中打开CPU来执行我们想要执行的程序大部分时间CPU是处于OFF状态的,这样可以达到降低功耗的目的void main{ unsigned char i; BCSCTL1|=DIVA_2; WDTCTL=_WDT_ADLY_1000; IE1|=WTDIE; while(1) { _BIS_SR(LPM3_bits); i++; }}#pragma ve... 阅读全文

posted @ 2014-03-22 17:06 droidxin 阅读(423) 评论(0) 推荐(0)

编程运算符小结
摘要:首先介绍一下 异或^与1 异或 极为取反与0 异或 不改变若想让一个字节中的某一位取反如:unsigned char i; i=0x00; i^=0x01; 则此时i=0x01; 这个时候第零位取反了;如果我们想要令其中的某一位为0那么 unsigned char i; i=00110011; 我们要让第三位取1,则需要 i |=00001000; 第三位取0则为: i &=11110111; 阅读全文

posted @ 2014-03-22 17:06 droidxin 阅读(161) 评论(0) 推荐(0)

导航