C/C++
yuhai8702
这个作者很懒,什么都没留下…
展开
-
递归
<br />/*2010-09-12*/<br />/*递归*/<br />/**********************************************************************<br /> *拿下面的cutpie(n)来说一下递归,假如n=3,那么main函数调用cutpie(3),进到cutpie(3)后,去到那return cutpie(3-1)+3 这里,按理说返回cutpie(3-1)+3不就完事了吗,但是cutpie(3-1),即cutpie(2)又是多少原创 2010-09-12 17:11:00 · 338 阅读 · 0 评论 -
文件
<br />/*2010-09-08*/<br />/*文件处理函数*****************************************************<br /> *fopen();fread();fwrite();rewind();fseek();fflush();sleep();<br /> *<br /> * ***************************************************************/<br />#include <stdio原创 2010-09-08 21:04:00 · 471 阅读 · 0 评论 -
堆和栈
一直都没搞清楚什么是堆,什么栈。以下这一段代码有助于理解它们:/*2010-09-04*//**************************************************************** *有关堆和栈 * * ***************************************************************/#include #include char *Getmamory1(void){ char *p="hello world";//此原创 2010-09-05 13:31:00 · 636 阅读 · 0 评论 -
单向链表
/*2010-09-07*//*单向链表*/#include #include #include typedef struct node//每一个节点就是一个结构体类型的数据{ int x; struct node* next;}NODE;//typedef NODE struct node//不能这样宏定义!/********************************************************* *函数名称:init_list *函数功能:初始化单向链表 函数参数原创 2010-09-09 12:22:00 · 550 阅读 · 0 评论 -
用链表实现队列
<br />/*2010-09-09*/<br />/*用链表实现队列*/<br />#include <stdio.h><br />#include <stdlib.h><br />#include <string.h><br />#ifdef D<br /> #define DEBUG(format, ...) printf(format,##__VA_ARGS__)<br />#else<br /> #define DEBUG(format, ...) do{}while(0)<br />原创 2010-09-09 11:45:00 · 1038 阅读 · 0 评论 -
学生管理系统
<br />/*学生成绩管理系统*/<br />/*2010-09-08*/<br />#include <stdio.h><br />#include <stdlib.h><br />#include <string.h><br />#define N 2<br /> <br />typedef struct student<br />{<br /> char name[20];<br /> int chinese;<br /> int math;<br /> struct stu原创 2010-09-08 21:01:00 · 425 阅读 · 0 评论 -
位域
<br />位域<br />/*2010-09-08*/<br />/*位域*/<br />#include <stdio.h><br />#include <stdlib.h><br /> <br />typedef struct object<br />{<br /> unsigned char status:3;//加unsigned!<br /> unsigned char setting:3;<br /> unsigned char power:2;<br />}OBJ;<br原创 2010-09-08 20:53:00 · 367 阅读 · 0 评论 -
类型转换
<br />两种转换方式:<br />1、隐式转换<br />2、强制转换<br />/*2010-09-06*/<br />/*类型转换*/<br />#include <stdio.h><br />int main()<br />{<br /> double d=100.25;<br /> int x=d;<br /> int *pint=(int*)&d;<br /> printf("x=%d/n",x);//结果为100,x取d的整数部分;<br /> printf("原创 2010-09-06 08:45:00 · 442 阅读 · 0 评论 -
浮点数在内存中的存储
<br />浮点数在内存中的存储<br />/*看float型,double型数据在内存中的存储*/<br />#include <stdio.h><br />int main(void)<br />{<br /> int i;<br /> float x=16.25;<br /> //double x=16.25;<br /> // printf("sizeof(x)=%d/n",sizeof(x));<br /> unsigned char* ptr = (unsigned转载 2010-09-05 20:36:00 · 1420 阅读 · 0 评论 -
(Struct)内存对齐
<br />对内存对齐的理解:<br /> (struct)内存对齐的规则是:<br /> 1、对于结构的各个成员,第一个成员位于偏移为0的位置,以后每个数据的偏移量必须是Min(编译器被指定的对齐字节数,该数据成员的自身长度)的倍数。<br />GCC中,Min(系统默认(4), 数据成员自身长度(char/short/int/double))。<br /> 2、在数据成员完各自对齐之后,结构体(或联合体)本身也要进行对齐,对齐将按照编译器被指定的对齐字节数和结构体(或联合体原创 2010-09-05 13:50:00 · 5855 阅读 · 1 评论 -
右左法则
<br />C语言所有复杂的指针声明,都是由各种声明嵌套构成的。如何解读复杂指针声明呢?右左法则是一个既著名又常用的方法。不过,右左法则其实并不是C标准里面的内容,它是从C标准的声明规定中归纳出来的方法。C标准的声明规则,是用来解决如何创建声明的,而右左法则是用来解决如何辩识一个声明的,两者可以说是相反的。右左法则的英文原文是这样说的:<br /> <br />The right-left rule: Start reading the declaration from the innermost pare转载 2010-09-12 21:00:00 · 389 阅读 · 0 评论 -
静态库与动态库(共享库)
<br />静态库(.a)与动态库(.so)<br />静态库:在编译过程中将库函数的代码直接加入到生成的可执行程序中,程序运行过程中不需要利用库函数。<br />静态库的东西都要以静态链接的方式来生成。由于代码就在可执行程序中,所以它执行起来比较快,但是,它造成了可执行程序的臃肿。<br />共享库(动态库):编译时,只是在生成的可执行程序中简单指定需要使用的库函数信息,在程序执行的时候才与函数建立映射关系。(接口,.so,不需要重新编译,所以升级快)。<br />创建静态库:<br />静态函数库是一组原创 2010-09-11 16:57:00 · 500 阅读 · 0 评论 -
排序
<br />/*2010-09-12*/<br />/*排序*/<br />#include <stdio.h><br />/*************************************************************<br /> *选择排序法:<br /> 选出最小的放在第一个位置,第二小的放第一个位置......<br /> *用k记住所找数中最小数的下标<br /> *<br /> * ******************************************原创 2010-09-12 19:19:00 · 361 阅读 · 0 评论 -
双向链表的基本操作
<br />#include <stdio.h> <br />#include <stdlib.h> <br /><br />typedef struct Node<br />{<br /> int data;<br /> struct Node * next;<br /> struct Node * prior;<br />}NODE, *PNODE;<br /><br />PNODE create_list(void); //创建节点<br />转载 2010-11-04 13:56:00 · 545 阅读 · 0 评论